如何将数据行连接/合并到一个对象[重复]

问题描述 投票:-1回答:2

如何将数据行合并到对象中。

例如 :

Declare @Email as varchar(max);

Select @Email=email from M_Employee

我想将所有电子邮件合并到@Email中并加上';'作为分隔符。

sql sql-server
2个回答
0
投票

你可以使用STUFF,与FOR XML

SELECT @Email = STUFF((SELECT distinct ';' +
                        email 
                       FROM M_Employee AS t
                      FOR XML PATH(''), TYPE
                     ).value('.', 'NVARCHAR(MAX)') 
                        , 1, 1, '');

这将为您提供以逗号分隔的所有电子邮件;


0
投票

试试这个

select 
@Email=LEFT(l.list,LEN(l.list)-1)
FROM
(
SELECT  Email + '; ' AS [text()]
FROM M_Employee
FOR XML PATH('')
)l(list)
© www.soinside.com 2019 - 2024. All rights reserved.