string_agg() 是一个系统函数,用于将非NULL值连接成一个字符串,可以选择使用分隔符。
string_agg() 添加于 PostgreSQL 9.0。
用法
string_agg (valuetext,delimitertext) →text
string_agg (valuebytea,delimiterbytea) →bytea
string_agg() - 正如其名称所示 - 是一个聚合函数,这意味着输入通常指定为一个或多个列名。
如果不需要分隔符,请将空字符串('')作为第二个参数传递。
要将任意数量的文本值连接成单个字符串,请参阅 concat() 和 concat_ws()。
变更历史
- PostgreSQL 16
- 添加了并行聚合支持 (提交 16fd03e9)
- PostgreSQL 9.2
- PostgreSQL 9.0
- 添加(提交 9ea9918e)
示例
一个基础的、示例性的 string_agg() 用法示例
postgres=# SELECT string_agg(x || '/' || y, ', ')
FROM (values ('foo', 'bar'),
('bar', 'baz')
) _(x, y);
string_agg
------------------
foo/bar, bar/baz
(1 row)
参考资料
- PostgreSQL 文档: 通用聚合函数
有用链接
- Postgres string_agg 函数:快速指南 - Timescale 教程
