sqlserver中怎么将一列数据拼接成一个字符串,并以换行符分开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver中怎么将一列数据拼接成一个字符串,并以换行符分开相关的知识,希望对你有一定的参考价值。

id name
1 我
1 爱
1 你
输出一显示
我,
爱,

不是输出 我爱你

select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用逗号隔开

参考 http://blog.csdn.net/rolamao/article/details/7745972

追问

我要的是以逗号加换行符隔开

追答select W, X = (stuff((select ',这里加你的程序认可的换行符' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W;

显示到页面,可以用<br/>, alert中可以用\\n.

参考技术A 分割“版区负责人Id”,使其结果为版区Id版区负责人Id612364566789(这里,我想来想去,只有使用零时表+游标来实现,个人没有想到更好的方法)CREATEFUNCTION[dbo].[fun_Split](@strVARCHAR(MAX),@splitVARCHAR(10))RETURNSTABLEASRETURN(SELECTB.idFROM(SELECT[value]=CONVERT(XML,''+REPLACE(@str,@split,'')+''))AOUTERAPPLY(SELECTid=N.v.value('.','varchar(100)')FROMA.[value].nodes('/v')N(v))B)GO--2005以及以上的版本支持这种分割写法。用xmlpath,把数据搞成你所要的结果 参考技术B select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用<a href="https://www.baidu.com/s?wd=%E9%80%97%E5%8F%B7&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YzmHRzmHDkujn4PyPbmvf30ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6snjf1n104P1RYnj0sPWnYPs" target="_blank" class="baidu-highlight">逗号</a>隔开
参考技术C sqlserver中怎么将一列数据拼接成一个字符串,并以换行符分开
select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用逗号隔开

以上是关于sqlserver中怎么将一列数据拼接成一个字符串,并以换行符分开的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server将一列的多行内容拼接成一行的实现方法

SQL Server2000将一列数据拼接成字符串可以用STUFF FOR XML PATH()么

SQL Server将一列的多行内容拼接成一行

MySQL的sql语句如何将一列数据拼接成一个字符串?

关于SQL Server将一列的多行内容拼接成一行的问题讨论

Sql Server将一列字段拼接成字符串方法