2011-06-01 64 views
3

任何人都可以告訴我Local.name(。)xquery函數是如何工作的。關於SQL建設問題,我在論壇發佈一個問題,他們給我答案。其中使用Local.name(。)xquery函數,但語法對我來說很不清楚。需要幫助Local.name(。)xquery函數

;with cte as 
(
select x.i.value('local-name(.)','nvarchar(MAX)') as colname 
,x.i.value('.','nvarchar(max)') as data 
from @x.nodes('/Record/DELETED/*') as x(i)) 

這是什麼線xivalue的意思( '本地名()', '爲nvarchar(MAX)')作爲colname的爲什麼 '本地名(。)' 是什麼地方的名字( 。) 這是什麼意思。再次x.i.value('。','nvarchar(max)')作爲數據請詳細解釋兩行。我不是高級用戶。非常感謝。

請指導我。謝謝

回答

7

local-name(.)會給你當前節點的節點名稱。如果您使用local-name(..),您將獲得父節點的節點名稱。

x.i.value('.','nvarchar(max)')會給你當前節點的內容。

@x.nodes('/Record/DELETED/*')爲您提供了/Record/Deleted中的所有節點。

因此,您的查詢將爲您提供/Record/Deleted中所有節點的名稱/值列表。