Как прочитать атрибут XML из таблицы? - PullRequest
0 голосов
/ 18 августа 2010

База данных имеет таблицу EMP с 3 столбцами empID, badgID, XMLDATA.

XMLDATA имеет тип данных "clob", а данные имеют вид -

<Record id="11">
    <Demo rID="5"/>
</Record>

Как читатьатрибут "rID" в значении узла "Demo" в приведенном выше XMLDATA в одном запросе?

Сервер - SQL Server 2005

1 Ответ

2 голосов
/ 18 августа 2010

Если ваши данные хранятся в XML-формате с типом данных в SQL Server, вы можете сделать это:

SELECT 
    empID, badgID,
    XmlData.value('(/Record/Demo/@rID)[1]', 'int') as 'rID'
FROM 
    dbo.YourTable

Если ваш тип данных не XML - так и должно быть! Возможно, вам придется использовать что-то вроде этого (может работать не во всех случаях):

SELECT 
    empID, badgID,
    (CAST XmlData AS XML).value('(/Record/Demo/@rID)[1]', 'int') as 'rID'
FROM 
    dbo.YourTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...