SQLSERVER 把SELECT結果集中一列的所有值用逗號分割拼接(Stuff函數)


前言:在日常工作中編寫存儲過程時,需要用到把某個查詢結果集中的一列拼接起來,然后拋出數據,在工作中還挺常用的,寫下來供以后查看

 

一、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,'')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM