2012-07-16 27 views
4

我正在嘗試使用XPath表達式進行查詢。我的Microsoft SQL Server 2008 RC2知道功能value()query()但缺少nodes()方法。SQL Server 2008 RC2中缺少節點()方法

實施例:

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

數據是表myTable一個XML列。

是否需要以某種方式安裝nodes()方法?

+0

你得到一個錯誤?錯誤說的是什麼? – AakashM 2012-07-16 12:52:01

+1

@AakashM''節點「不是一個有效的函數,屬性或字段.'大概。 – 2012-07-16 12:55:50

回答

9

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) 
+0

謝謝。現在它正在工作...... – 2012-07-16 13:49:30

+1

「x(x)」是什麼意思? – 2016-02-08 20:31:30

+1

@IanWarburton'x'是我給'nodes'方法結果集的表別名和列別名的名稱。顯然,當時並沒有特別感受到當時想出更有想象力的東西...... – 2016-02-08 20:36:05