CONCAT(s1, s2, ...)
的返回结果为连续参数产生的字符串。若有参数为 NULL
,则返回值为忽略NULL值后的结果。如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果参数中含有任何一个二进制字符串,则结果为一个二进制字符串。
CONCAT_WS(x, s1, s2, ...)
中, CONCAT_WS
代表 CONCAT With Separator,是 CONCAT()
的特殊形势。第一个参数 x
是其他参数的 分隔符
。
分隔符
可以是一个字符串,也可以是其他参数。如果分隔符是 NULL
,则结果为 NULL
。
函数会忽略任何分隔符参数后的 NULL
值。
示例:
$ SELECT CONCAT('PostgreSQL','11.2'), CONCAT('Postgre',NULL,'SQL'), CONCAT_WS('-','1st','2nd','3rd'), CONCAT_WS('*','1st',NULL,'3rd'), CONCAT_WS(NULL,'1st','2nd','3rd');点击复制复制失败已复制
执行结果:
concat(text) | concat(text) | concat_ws(text) | concat_ws(text) | concat_ws(text) |
PostgreSQL11.2 | PostgreSQL | 1st-2nd-3rd | 1st*3rd | NULL |