DECLARE @STR VARCHAR(MAX)
SELECT @STR=ISNULL(@STR+',','')+b FROM (SELECT DISTINCT b FROM 表)AS T
SELECT @STR
注意:@STR不能赋初值, 否则前面会多一个 ','
——————————————————————————————————————————
更强悍的招数:
if not object_id('tb') is null
drop table tb
Go
Create table tb([A] int,[B] nvarchar(1))
Insert tb
select 1,N'a' union all
select 2,N'b' union all
select 3,N'c'
Go
Select
distinct
stuff((select ','+[B] from tb for xml path('')),1,1,'')
from tb t
一行代码搞定, 不得不叹服!!
本文介绍了一种使用SQL语句高效拼接字符串的方法,通过T-SQL的STUFF函数结合FOR XML PATH实现对表中特定字段的去重并连接成一个字符串。此外,还提供了一个更为复杂的示例,展示了如何创建临时表并运用该技巧。
479

被折叠的 条评论
为什么被折叠?



