任何人都可以告诉我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)')作为数据请详细解释两行。我不是提前用户。非常感谢。
请指导我。感谢
答案 0 :(得分:7)
local-name(.)
将为您提供当前节点的节点名称。如果您使用local-name(..),您将获得父节点的节点名称。
x.i.value('.','nvarchar(max)')
将为您提供当前节点的内容。
@x.nodes('/Record/DELETED/*')
为您提供/Record/Deleted
中的所有节点。
因此,您的查询将为您提供/Record/Deleted
中所有节点的名称/值列表。