我正在尝试使用XPath表达式进行查询。我的Microsoft SQL Server 2008 RC2知道函数value()
和query()
,但缺少nodes()
方法。
示例:
SELECT Data.nodes('/root/ids/id') As id FROM myTable
数据是表myTable
中的XML列。
是否需要以某种方式安装nodes()
方法?
答案 0 :(得分:10)
nodes
可以返回多行,因此您不会将其称为返回标量
with myTable as
(
SELECT CAST('<root><ids><id>1</id><id>2</id></ids></root>' AS XML) AS Data
)
SELECT x.value('.', 'int')
FROM myTable
CROSS APPLY Data.nodes('/root/ids/id') x(x)