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,'');


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM