首页 > 数据库 > mysql教程 > 如何在较旧的 SQL Server 版本(2017 年之前)中实现字符串聚合?

如何在较旧的 SQL Server 版本(2017 年之前)中实现字符串聚合?

DDD
发布: 2025-01-20 19:27:15
原创
448 人浏览过

How Can I Achieve String Aggregation in Older SQL Server Versions (Pre-2017)?

在旧版 SQL Server 中使用 String_agg 的方法

string_agg 函数是将多行连接成单个字符串的强大工具,广泛应用于 PostgreSQL 和 SQL Server 等各种 SQL 数据库中。但是,在 2017 年之前的 SQL Server 版本中,并不原生支持 string_agg 函数。

SQL Server 2014 的解决方案:

要在 SQL Server 2014 中实现类似的功能,可以使用以下查询:

<code class="language-sql">SELECT STUFF((SELECT ',' + CAST(t.id AS VARCHAR(MAX))
              FROM tabel t
              FOR XML PATH('')
             ), 1, 1, '');</code>
登录后复制

此查询中:

  • FOR XML PATH('') 函数生成一个用逗号分隔的 id 值列表。
  • STUFF 函数删除结果中的初始逗号。
  • CAST(t.id AS VARCHAR(MAX)) 确保所有 id 值都被转换为字符串,而不管其原始数据类型是什么。

这种方法有效地模拟了 string_agg 的行为,允许您将多个 id 值连接成单个用逗号分隔的字符串。

以上是如何在较旧的 SQL Server 版本(2017 年之前)中实现字符串聚合?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板