xquery 返回元素名称

2021-10-01 00:00:00 xml xquery sql-server
DECLARE @XML XML
SET @xml = '
<root>
    <a>
        <DATE_OF_BIRTH> 19871224</DATE_OF_BIRTH> 
        <DRIVER> MIKE </DRIVER> 
    </a>
    <a>
        <DATE_OF_BIRTH> 19881124</DATE_OF_BIRTH> 
        <DRIVER> TOM </DRIVER> 
    </a>
    <a>
        <DATE_OF_BIRTH> 19770601</DATE_OF_BIRTH> 
        <DRIVER> DAVID </DRIVER> 
    </a>
</root>'

select x.value('.','varchar(100)')
from @xml.nodes('//a') as T(X)

我想用xquery返回元素名

I want to use xquery to return the element name

这样的结果

DATE_OF_BIRTH

DATE_OF_BIRTH

司机

我怎样才能做到这一点?

How can I make this happen?

非常感谢.

推荐答案

如果您尝试以下操作:

select X.query('local-name(.)')
from @xml.nodes('//a/*') as T(X)

它会返回:

DATE_OF_BIRTH
DRIVER
DATE_OF_BIRTH
DRIVER
DATE_OF_BIRTH
DRIVER

相关文章