Sqlserver 查询把多行内容拼成一个字符串

当使用:SELECT ','+Id FROM dbo.Test FOR XML PATH('')); //这样读取的数据虽然是1,2,3,4,但是仍然是xml格式,所以当数据超过2033时候,用sqldatereader或者sqldateadapter读取数据会截断xml文件。


此时要:SELECT STUFF((SELECT ','+Id FROM dbo.Test FOR XML PATH('')),1,1,'');//利用stuff函数将xml文件转换为一个字符串字段。就不会截断。

注: 在使用它处理数据时有的时候会把一些特殊的符号转义掉, 如果不需要转义请用以下方式 参考自(https://blog.csdn.net/wzy87au/article/details/68059540)

SELECT STUFF((SELECT ','+Id FROM dbo.Test FOR XML PATH(''),Type).value('.','NVARCHAR(MAX)'),1,1,'');

原文地址:https://www.cnblogs.com/itstac/p/10819853.html