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