首页 >数据库 >mysql教程 >如何在 MSSQL Server 中用逗号连接行?

如何在 MSSQL Server 中用逗号连接行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-16 23:27:09786浏览

How to Concatenate Rows with Commas in MSSQL Server?

在 MSSQL Server 中使用逗号连接行

在 MSSQL Server 中查询并将多行合并为单个逗号分隔字符串,可以使用 STUFF 和 FOR XML 函数组合实现。具体方法如下:

创建一个示例表并填充值:

<code class="language-sql">DECLARE @T AS TABLE
(
   Name varchar(10)
)
INSERT INTO @T VALUES
('John'),
('Vicky'),
('Sham'),
('Anjli'),
('Manish')</code>

使用 STUFF 和 FOR XML 构造查询:

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

此查询将表 @T 中所有行的 Name 列连接成单个字符串。它使用 FOR XML 将表转换为 XML 表示形式,然后使用 STUFF 将 XML 节点(Name 元素,以 " " 作为分隔符)连接成单个字符串。结果类似于:

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

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

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