如何获得下面指定的输出
DECLARE @txml XML
SET @txml ='<row><ch> </ch><unicode_value>9</unicode_value><cnt>3</cnt></row><row><ch>
</ch><unicode_value>10</unicode_value><cnt>5</cnt></row><row><ch>
</ch><unicode_value>13</unicode_value><cnt>5</cnt></row><row>
<ch> </ch><unicode_value>32</unicode_value><cnt>962</cnt></row>
<row><ch>&</ch><unicode_value>38</unicode_value><cnt>32</cnt></row>
'
SELECT x.value('cnt', 'int') AS cnt,
x.value('ch', 'nvarchar(10)') AS ch,
x.value('unicode_value', 'int') AS unicode_value
FROM @txml.nodes('/row') AS tbl( x )
about所需的输出应该类似于
cnt | ch | unicode_value|
32 | & | 38|
8 | ( | 40|
等
答案 0 :(得分:1)
使用新的XML结构,您应该执行以下操作:
SELECT x.value('(cnt)[1]', 'int') AS cnt,
x.value('(ch)[1]', 'nvarchar(10)') AS ch,
x.value('(unicode_value[1])', 'int') AS unicode_value
FROM @txml.nodes('/row') AS tbl( x )