FOR XML PATH长度超过2033截断的问题
2019-07-18 本文已影响0人
smallqiang
SQLServer可以将数据集转换为xml,特别适用于多行转一行或者数据处理的场景,效率都相当的不错。
SELECT * FROM [dbo].[Test] FOR XML PATH('R');
但是需要注意利用Stuff函数将生成的xml文件转换为字符串,否则用SqlDataReader读取数据只能读取2033个字符。
此时要:SELECT STUFF((SELECT * FROM [dbo].[Test] FOR XML PATH('R')),1,0,'');
利用Stuff函数将xml文件转换为一个字符串字段,就不会截断。