SQL Server2000将一列数据拼接成字符串可以用STUFF FOR XML PATH()么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server2000将一列数据拼接成字符串可以用STUFF FOR XML PATH()么相关的知识,希望对你有一定的参考价值。
SQL Server2000将一列数据拼接成字符串可以用STUFF FOR XML PATH()么? 如果不可以的话应该用什么方式拼接出来并存到一个临时表里呢?求大神解答
参考技术A SQL Server2000是不支持FOR XML PATH()的declare @s varchar(8000)
set @s = ''
select @s = @s + 字段 + ',' from 表名
set @s = stuff(@s,len(@s),1,'')
SELECT @s追问
这样一整列的数据都能拼接到一个字符串里么?是不是要写个循环?
追答不需要循环,你可以试一下。
喔喔 可以了 谢谢!
本回答被提问者采纳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列拼接成一个字符串用逗号隔开
以上是关于SQL Server2000将一列数据拼接成字符串可以用STUFF FOR XML PATH()么的主要内容,如果未能解决你的问题,请参考以下文章