SQL Server將同一列多條數據合並成一行


Sql server中,將同一字段多條數據用字符拼接為一個字符串方式。

原數據查詢展示:

 

 

 使用 STUFF 函數,將結果列拼接成一行。結果如下:

 

 

STUFF:

1、作用

stuff(param1, startIndex, length, param2)
將param1中自startIndex(SQL中都是從1開始,而非0)起,刪除length個字符,然后用param2替換刪掉的字符。

2、參數

  • param1:一個字符數據表達式。param1可以是常量、變量,也可以是字符列或二進制數據列。
  • startIndex:一個整數值,指定刪除和插入的開始位置。如果 startIndex或 length 為負,則返回空字符串。如果startIndex比param1長,則返回空字符串。startIndex可以是 bigint 類型。
  • length:一個整數,指定要刪除的字符數。如果 length 比param1長,則最多刪除到param1 中的最后一個字符。length 可以是 bigint 類型。
  • param2,返回類型。如果param1是受支持的字符數據類型,則返回字符數據。如果param1是一個受支持的 binary 數據類型,則返回二進制數據。

示例

select STUFF('abcdefg',1,0,'1234')       --結果為'1234abcdefg'  
select STUFF('abcdefg',1,1,'1234')       --結果為'1234bcdefg'  
select STUFF('abcdefg',2,1,'1234')       --結果為'a1234cdefg'  
select STUFF('abcdefg',2,2,'1234')       --結果為'a1234defg'

 


免責聲明!

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



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