MSSQL如何將查詢結果拼接成字串

2022-08-03 04:15:12 字數 904 閱讀 8991

在博問上看到乙個提問「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

endclose user_cur

--摧毀游標

deallocate user_cur

print @result

查詢結果如下:

,'宜家廠','宿舍','車間','未知','辦公樓','綜合樓','綜合樓'

將查詢結果拼接成字串

for xml path param 將查詢結果以xml格式輸出 1 select id,name from table1 for xml path 2 id和name為table1的真實字段 path後面沒有引數時,每行資料被預設標籤包裹,每行列資料被被其列名標籤包裹。上面sql的結果可如下 1 ...

如何將查詢結果進行排名

於是乎我就開始寫,嘿,奇怪,我還真沒有寫過,於是找了寫資料,借鑑了一下別人的,結果如下 create procedure csp getoperatorscorebydate begindate datetime,enddate datetime ascreate table temp 定義臨時表,...

MSSQL將查詢結果橫向顯示

表1 year month,amount 200801 5 200802 6 200803 9 200802 4 顯示結果 year 01 02 03 tot 2008 5 0 0 5 2008 0 10 0 10 2008 0 0 9 9 2008 0 0 0 24 可能多個年,多個月create...