在博問上看到一個提問“MSSQL如何將查詢結果拼接成字元串” ,想了一下應該怎麼實現呢,在c#等語言下好實現,但在sql里實現、還真沒做過。 目標:想要在SQL中將查詢的結果拼接為 '1','2','3','4','5' 分析:要進行拼接就要取得每行的值,想到了游標可以做到。於是有了下麵的方法 se ...
在博問上看到一個提問“MSSQL如何將查詢結果拼接成字元串” ,想了一下應該怎麼實現呢,在c#等語言下好實現,但在sql里實現、還真沒做過。
目標:想要在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
查詢結果如下:
,'宜家廠','宿舍','車間','未知','辦公樓','綜合樓','綜合樓'