簡體   English   中英

如何在SQL Server中拆分和連接?

[英]how to split and concatenate in sql server?

我將一個字符串傳遞給一個存儲過程,使用動態sql在select語句中使用:

@groups as nvarchar(1000) = 'group1,group10,group8'

我可能只傳遞一串數字,例如'1,2,3,4'

我想拆分這些值然后連接它們,以便它們以下列方式結束:

'rmc.group1,rmc.group10,rmc.group8'
declare @groups nvarchar(1000) ='group1,group10,group8'

set @groups = 'rmc.' + replace(@groups, ',', ',rmc.')
select @groups

結果:

rmc.group1,rmc.group10,rmc.group8

Sql小提琴演示

Select Replace('group1,group10,group8','group','rmc.group')

試試這個 -

DECLARE @groups nvarchar(1000) = 'group1,group10,group8'

SELECT STUFF((
    SELECT ',rmc.' + t
    FROM (
          SELECT t = t.c.value('.', 'VARCHAR(50)')
          FROM (
               SELECT ID = CAST ('<t>' + REPLACE(@groups, ',', '</t><t>') + '</t>' AS XML)
          ) r 
          CROSS APPLY ID.nodes ('/t') t(c)
    ) t
    FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1,1, '')

輸出 -

------------------------------------
rmc.group1,rmc.group10,rmc.group8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM