1
DECLARE @XML XML
SET @xml = '
<root>
<a>
<b nm="DATE OF BIRTH"> 19871224</b>
<b nm="DRIVER"> MIKE </b>
</a>
<a>
<b nm="DATE OF BIRTH"> 19881124</b>
<b nm="DRIVER"> TOM </b>
</a>
<a>
<b nm="DATE OF BIRTH"> 19770601</b>
<b nm="DRIVER"> DAVID </b>
</a>
</root>'
select
pd.value('//b[@nm="DATE OF BIRTH"][1]','varchar(100)')
from
@xml.nodes('//a') as x(Rec)
cross apply
@xml.nodes('//a/b') as i(pd)
我想通过使用XQUERY解析简单。我总是得到这样的错误。我挣扎了好几天。原因是列名是一个属性。谢谢。Xquery需要一个单例:列名是属性
消息2389,级别16,状态1,行23
的XQuery [值()]: '值()' 需要单(或空序列),实测值类型的操作数 'XDT:untypedAtomic类型*'
我想收到的结果是
DATE_OF_BIRTH DRIVER
---------------------------
19871224 MIKE
19881124 TOM
19770601 DAVID
非常感谢您的回答。有用。周末愉快! – Mike