前言:在日常工作中編寫存儲過程時,需要用到把某個查詢結果集中的一列拼接起來,然后拋出數據,在工作中還挺常用的,寫下來供以后查看
一、Stuff函數的使用
1. 語法
STUFF ( character_expression1 , start , length ,character_expression2 )
2. 參數
character_expression1 :傳入的字符串,可以是varchar、nvarchar或者是uniqueidentifier(二進制數據類型,如newid())
start :起始位置,大於等於1並且小於等於character_expression1的長度的整數,否則最終結果會是null,如果是float類型的數值會取整數部分
length :字符長度,指定要刪除的字符數。大於等於0的正整數,如果小於0結果會是null,如果大於character_expression1的長度則從start的位置一直刪到最后
character_expression2:在刪掉字符的地方填充新的字符,如果不填充則以''代替
3. 示例
3.1 先准備一張表和數據
3.2 使用Stuff進行查詢分割
4. 示例代碼
1 SELECT STUFF((SELECT TOP 10 ',' + CEmpName FROM dbo.Sys_User FOR XML PATH('')),1,1,'')