首页 >数据库 >mysql教程 >如何在 Microsoft SQL Server 中将行连接成逗号分隔的字符串?

如何在 Microsoft SQL Server 中将行连接成逗号分隔的字符串?

Patricia Arquette
Patricia Arquette原创
2025-01-16 23:37:12912浏览

How to Concatenate Rows into a Comma-Delimited String in Microsoft SQL Server?

将行连接到逗号分隔字符串

对于使用 Microsoft SQL Server 的数据库用户来说,一个常见的任务是将多行合并到以逗号分隔的单个字符串中。这简化了数据操作,并允许直接处理。

问题:

我们如何使用 Microsoft SQL Server 从一组行中检索逗号分隔的字符串?

解决方案:

Microsoft SQL Server 提供了两种强大的方法来实现此目的:STUFF 和 FOR XML。以下查询演示了如何有效地使用它们:

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

解释:

  • STUFF: STUFF() 函数将指定的字符串插入到另一个字符串的给定位置。
  • FOR XML PATH (''): FOR XML PATH ('') 子句创建数据的 XML 表示形式,其中每一行都表示为一个元素。空字符串参数确保不生成任何 XML 标记,使其适合创建逗号分隔的列表。

通过结合这些技术,查询逐步用逗号连接名称,从而产生单个逗号分隔的字符串。

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

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