concat_ws()
是一个系统函数,用于将任意值连接成一个由分隔符(定界符)分隔的 text
字符串。
concat_ws()
添加于 PostgreSQL 9.1。
用法
concat_ws (sep
text
,val1
any
[,val2
any
[, ...] ] ) →text
第一个参数是要使用的分隔符字符串,它可以是任何非 NULL
值。
要聚合查询中列中的字符串值,请使用 string_agg()
。
更改历史记录
- PostgreSQL 9.1
- 添加 (提交 49b27ab5)
示例
concat_ws()
的基本用法示例
postgres=# SELECT concat_ws('|', 'foo', 'bar'); concat_ws ----------- foo|bar (1 row)
NULL
值将被忽略
postgres=# SELECT concat_ws('|', 'foo', NULL, 'bar'); concat_ws ----------- foo|bar (1 row)
如果所有提供的值都为 NULL
,则将返回空字符串
postgres=# SELECT concat_ws('|', NULL, NULL) IS NULL; ?column? ---------- f (1 row)
但是,NULL
分隔符会导致 NULL
结果
postgres=# SELECT concat_ws(NULL, 'foo', 'bar') IS NULL; ?column? ---------- t (1 row)
提供空字符串作为分隔符在功能上等同于使用 concat()
postgres=# SELECT concat_ws('', 'foo', 'bar'), concat('foo', 'bar'); concat_ws | concat -----------+-------- foobar | foobar (1 row)
参考文献
- PostgreSQL 文档: 其他字符串函数