我试图在sql server中解析下面的xml来获取所有3个ID
<Configuration>
<ID>1000</ID>
<ID>1001</ID>
<ID>1002</ID>
</Configuration>
使用查询
SELECT CONFIGURATION.value('/', 'varchar(200)') as SID FROM SCHEDULE
我得到的结果为100010011002 但我希望以列或CSV格式显示结果。
任何帮助都会得到满足。
答案 0 :(得分:8)
使用MS SQL Server,这将为您提供行。
declare @xml as xml
set @xml =
'<Configuration>
<ID>1000</ID>
<ID>1001</ID>
<ID>1002</ID>
</Configuration>'
select
x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID') as x(i)
如果你只需要一个像这个例子那样的值,那么在text()
节点上碎片要快很多(三次)。
select
x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID/text()') as x(i)