MSSQL如何将查询结果拼接成字符串

在博问上看到一个提问“MSSQL如何将查询结果拼接成字符串” ,想了一下应该怎么实现呢,在c#等语言下好实现,但在sql里实现、还真没做过。

MSSQL如何将查询结果拼接成字符串

目标:想要在SQL中将查询的结果拼接为 \'1\',\'2\',\'3\',\'4\',\'5\'

分析:要进行拼接就要取得每行的值,想到了游标可以做到。于是有了下面的方法

select name from area

查询结果如下

办公楼
车间
宿舍
未知
宜家厂
综合楼

解决方法:

declare @name varchar(50)
declare @result varchar(500)
set @result=\'\'

--定义一个游标

declare user_cur cursor for select name from area
--打开游标
open user_cur
while @@fetch_status=0
begin
--读取游标
fetch next from user_cur into @name
--print @name
set @result=@result+\',\'\'\'+@name+\'\'\'\'
--print @Login
end
close user_cur
--摧毁游标
deallocate user_cur
print @result

查询结果如下:

,\'宜家厂\',\'宿舍\',\'车间\',\'未知\',\'办公楼\',\'综合楼\',\'综合楼\'

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxgjs.html