6

我正在尝试使用 XPath 表达式进行查询。我的 Microsoft SQL Server 2008 RC2 知道这些功能value()query()但缺少nodes()方法。

例子:

SELECT Data.nodes('/root/ids/id') As id FROM myTable

数据是表中的一个 XML 列myTable

是否需要以nodes()某种方式安装该方法?

4

1 回答 1

11

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)
于 2012-07-16T12:50:48.967 回答