string_agg()
是一个系统函数,用于将非NULL
值连接到一个字符串中,可以选择使用分隔符。
string_agg()
在 PostgreSQL 9.0 中添加。
用法
string_agg (value
text
,delimiter
text
) →text
string_agg (value
bytea
,delimiter
bytea
) →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 教程