需要帮助Local.name(。)xquery函数

时间:2011-06-01 12:47:26

标签: sql-server tsql xquery-sql

任何人都可以告诉我Local.name(。)xquery函数是如何工作的。关于sql构建问题我在论坛上发帖提问,他们给我答案。其中使用了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('local-name(。)','nvarchar(MAX)')的含义是colname为什么'local-name(。)'什么是local-name(。)是什么它的意思是。再次x.i.value('。','nvarchar(max)')作为数据请详细解释两行。我不是提前用户。非常感谢。

请指导我。感谢

1 个答案:

答案 0 :(得分:7)

local-name(.)将为您提供当前节点的节点名称。如果您使用local-name(..),您将获得父节点的节点名称。

x.i.value('.','nvarchar(max)')将为您提供当前节点的内容。

@x.nodes('/Record/DELETED/*')为您提供/Record/Deleted中的所有节点。

因此,您的查询将为您提供/Record/Deleted中所有节点的名称/值列表。