Sql server xquery返回元素名称

时间:2013-03-27 06:11:43

标签: sql-server xml sql-server-2008 xquery xquery-sql

我有以下xml

declare @xml xml = '<Values><a>AAA</a><b>BBB</b></Values>';
select @xml.query('for $k in /Values return concat(",@", "=''", $k, "''")')

返回

  

,@ ​​= 'AAABBB'

但我希望

  

,@一个= 'AAA',@ B = 'BBB'

如何编写xquery?

1 个答案:

答案 0 :(得分:2)

我自己想出来了。

declare @xml xml = '<Values><a>AAA</a><b>BBB</b></Values>';
select @xml.query('for $k in /Values/* 
    return concat(",@", fn:local-name($k), "=''", $k, "''")')