在 SQL Server 2012 (SP1) 上,获取如下所示的数据的最佳方法是什么:
declare @t table (
id int,
data xml
)
insert into @t values (1, '<node/>'), (2, '<node/>')
id data
1 <node />
2 <node />
把它变成
id data
1 <root><node /></root>
2 <root><node /></root>
?
有没有比将其转换为字符数据、添加节点开始和结束标记然后将其转换回 xml 更有效的方法?我在更大的数据集上处理这个问题,所以这只是一个简单的例子。
最佳答案
另一种方法(但我最喜欢的是 har07 的回答)
declare @t table (
id int,
data xml
)
insert into @t values (1, '<node/>'), (2, '<node/>');
SELECT id
,(SELECT data AS [*] FOR XML PATH('root'),TYPE)
FROM @t;
关于sql-server - 围绕 xml 或逐行添加 xml 元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43150734/