首页 >数据库 >mysql教程 >如何在 SQL Server 中使用逗号分隔符连接行?

如何在 SQL Server 中使用逗号分隔符连接行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-16 23:32:10513浏览

How to Concatenate Rows with a Comma Delimiter in SQL Server?

在 SQL Server 中使用逗号分隔符连接行

本文介绍如何将 SQL Server 中的多行数据合并成一个以逗号分隔的字符串。 在 MS SQL Server 中,这可以通过组合使用 STUFF 和 FOR XML 函数有效地实现。

以下是一个示例表 (@T):

<code class="language-sql">DECLARE @T AS TABLE
(
    Name varchar(10)
)

INSERT INTO @T VALUES
('John'),
('Vicky'),
('Sham'),
('Anjli'),
('Manish')</code>

要将名称连接成以逗号分隔的字符串,请执行以下查询:

<code class="language-sql">SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') As [output];</code>

此查询利用 FOR XML 生成名称的 XML 层次结构,然后利用 STUFF 函数构造最终字符串。 输出结果将是:

<code>output
John,Vicky,Sham,Anjli,Manish</code>

这种方法有效地将多行数据连接成单个字符串,非常适合生成逗号分隔列表或以特定格式导出数据等任务。

以上是如何在 SQL Server 中使用逗号分隔符连接行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn