数据库具有表EMP,其中包含3列empID,badgID,XMLDATA。
XMLDATA的数据类型为“clob”,数据的格式为 -
<Record id="11">
<Demo rID="5"/>
</Record>
如何在单个查询中读取上述XMLDATA中节点“Demo”值中的属性“rID”?
服务器 - SQL Server 2005
答案 0 :(得分:2)
如果在SQL Server中使用数据类型XML存储数据,则可以执行以下操作:
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