我试图用根值包装所有 xml 值。
Create table #temp( ID bigint, Child_XMl xml)
Insert into #temp values (1,'<Root>A</Root>')
Insert into #temp values (1,'<Root>B</Root>')
Insert into #temp values (1,'<Root>C</Root>')
Insert into #temp values (2,'<Root>D</Root>')
Select Child_XMl from #temp
where ID=1
for xml path(''), type,elements
预期结果:
<Roots>
<Root>A</Root>
<Root>B</Root>
<Root>C</Root>
<Roots>
最佳答案
诀窍是确保该列是无名的;当列的类型为 XML
时,它将被内联。这需要使用表达式,因为不允许将列显式别名为空名称。
SELECT Child_Xml.query('.')
FROM #temp
WHERE ID = 1
FOR XML PATH(''), ROOT('Roots'), TYPE
关于sql - 用根包裹 XML 值 - sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51593651/