CONCAT_WS
描述
使用第一个参数 sep 作为连接符,将第二个参数以及后续所有参数(或ARRAY中的所有字符串)拼接成一个字符串。特殊情况:
- 如果分隔符是 NULL,返回 NULL。
CONCAT_WS
函数不会跳过空字符串,会跳过 NULL 值。
语法
CONCAT_WS ( <sep> , <str> [ , <str> ] )
CONCAT_WS ( <sep> , <array> )
参数
参数 | 说明 |
---|---|
<sep> | 拼接字符串的连接符 |
<str> | 需要被拼接的字符串 |
<array> | 需要被拼接的 array 数组 |
返回值
参数 <sep>
或者 <array>
数组使用 <str>
拼接后字符串。特殊情况:
- 如果分隔符是 NULL,返回 NULL。
举例
将字符串通过 or 拼接到一起
SELECT CONCAT_WS("or", "d", "is"),CONCAT_WS(NULL, "d", "is"),CONCAT_WS('or', 'd', NULL, 'is')
+----------------------------+----------------------------+------------------------------------------+
| concat_ws('or', 'd', 'is') | concat_ws(NULL, 'd', 'is') | concat_ws('or', 'd', NULL, 'is') |
+----------------------------+----------------------------+------------------------------------------+
| doris | NULL | doris |
+----------------------------+----------------------------+------------------------------------------+
将 array 数组通过 or 拼接到一起
SELECT CONCAT_WS("or", ["d", "is"]),CONCAT_WS(NULL, ["d", "is"]),CONCAT_WS("or", ["d", NULL,"is"])
+------------------------------+------------------------------+------------------------------------+
| concat_ws('or', ['d', 'is']) | concat_ws(NULL, ['d', 'is']) | concat_ws('or', ['d', NULL, 'is']) |
+------------------------------+------------------------------+------------------------------------+
| doris | NULL | doris |
+------------------------------+------------------------------+------------------------------------+