注意:这里有一种可能被弃用的方法,微软真他么坑死了,我的版本是19的,以前可以用,现在不行了
方法一(弃用):
SELECT
(SELECT CAST(bs_id AS VARCHAR(50)) + ','
from dbo.BuildSite where bs_id=T.bs_id For XML PATH('')) AS BsStr
from dbo.BuildSite T
GO
结果:
方法二(可行):
Stuff用法:
Stuff (@expression,@startIndex,@length,@replacrExpression)
注:
@expression 表示 要处理的字符串
@startIndex 表示 开始删除字符串的位置(sql server索引从1而不是0开始)
@lenght 表示 删除字符串的长度
@replacrExpression 表示 删除后该位置 要替换的字符串
SELECT STUFF((SELECT ',' + CAST(bs_id AS VARCHAR(50)) FROM [dbo].BuildSite FOR XML PATH('')),1,1,'') AS BsStr
结果: