2019年2月5日 星期二

SQL Server how to combine column data to string

env:Windows Server 2016
       SQL Server 2016 SP2

之前遇到一個需求,把欄位的資料合併為一個字串,每個資料需要用逗號分隔。
這次我們直接組出語法

1.利用FOR XML語法來組出結合字串的語法
command:
SELECT
(SELECT CAST([Name] AS NVARCHAR) + ',' FROM [dbo].[TETTB01] for xml path(''))
FROM [dbo].[TETTB01]

2.字串已經組合出來並且是以逗號做分隔,但是字串結尾也是逗號,這是接下來要處理的部分。移除字串結尾的逗號。
command:
SELECT 
LEFT((SELECT CAST([Name] AS NVARCHAR) + ',' FROM [dbo].[TETTB01] for xml path(''))
,LEN((SELECT CAST([Name] AS NVARCHAR) + ',' FROM [dbo].[TETTB01] for xml path('')))-1)
FROM [dbo].[TETTB01]


沒有留言:

張貼留言