MySQL CONCAT_WS() 函数
MySQL CONCAT_WS() 函数用来通过指定的分隔符按顺序拼接指定的 2 个或多个字符串,并返回拼接后的字符串。
如果拼接的参数中一个为 NULL, CONCAT_WS() 函数会忽略 NULL 值,这里与CONCAT()不同。
如果只有一个参与拼接的字符串参数,则原样返回此字符串。
CONCAT_WS() 语法
CONCAT_WS(separator, string1, string2, ..., stringN)
参数说明
separator
- 分隔符,必须的。您可以使用单个字符,也可以使用字符串。
string1, string2, …, stringN
- 必需,至少应指定一个字符串;
- 如果拼接的参数为 NULL, 则会被忽略;
- 当不指定字符串时,MySQL 将会报错:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'
返回值
-
CONCAT_WS() 函数返回使用分隔符连接后的多个字符串。
-
如果 separator 为 NULL,CONCAT_WS() 函数将返回 NULL。
-
如果 string1, string2, …, stringN 中有 NULL,则会被 CONCAT_WS() 函数忽略。
示例
SELECT CONCAT_WS('-', 'Hello', 'World');
+----------------------------------+
| CONCAT_WS('-', 'Hello', 'World') |
+----------------------------------+
| Hello-World |
+----------------------------------+
CONCAT_WS() 函数会忽略 NULL 值的参数。请看如下的示例:
SELECT CONCAT_WS('-', 'Hello', NULL, 'World');
+----------------------------------------+
| CONCAT_WS('-', 'Hello', NULL, 'World') |
+----------------------------------------+
| Hello-World |
+----------------------------------------+
如果只有一个参与拼接的字符串参数,CONCAT_WS() 函数会原样返回此字符串。
SELECT CONCAT_WS('-', 'Hello');
+-------------------------+
| CONCAT_WS('-', 'Hello') |
+-------------------------+
| Hello |
+-------------------------+