首页 >数据库 >mysql教程 >如何将 SQL Server 表行转换为逗号分隔的字符串?

如何将 SQL Server 表行转换为逗号分隔的字符串?

Susan Sarandon
Susan Sarandon原创
2025-01-16 23:26:11166浏览

How to Convert SQL Server Table Rows into a Comma-Delimited String?

在 SQL Server 中将表行转换为逗号分隔的字符串

在 SQL Server 中将行连接成逗号分隔的字符串,可以结合使用 STUFF() 和 FOR XML PATH() 函数。

演示如下:

  1. 创建并填充示例表:

    <code class="language-sql"> DECLARE @T AS TABLE
     (
         Name varchar(10)
     )
    
     INSERT INTO @T VALUES
     ('John'),
     ('Vicky'),
     ('Sham'),
     ('Anjli'),
     ('Manish')</code>
  2. 使用逗号分隔符连接行:

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

此查询会将 @T 中的行连接成单个逗号分隔的字符串,结果如下:

<code>输出
John,Vicky,Sham,Anjli,Manish</code>

说明:

  • FOR XML PATH() 函数生成行的 XML 表示形式,每行都包含在一个逗号分隔的列表中。
  • 然后,STUFF() 函数用于删除结果中多余的起始和结束尖括号。
  • STUFF() 函数中的 1, 1 指示应删除第一个字符(即前导逗号)。

以上是如何将 SQL Server 表行转换为逗号分隔的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

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