FOR XML PATH长度超过2033截断的问题

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文件转换为一个字符串字段,就不会截断。

你可能感兴趣的:(FOR XML PATH长度超过2033截断的问题)