MySQL CONCAT_WS() 函数用来通过指定的分隔符按顺序拼接指定的 2 个或多个字符串,并返回拼接后的字符串。
如果拼接的参数中一个为 NULL, CONCAT_WS() 函数会忽略 NULL 值,这里与CONCAT()不同。
如果只有一个参与拼接的字符串参数,则原样返回此字符串。
CONCAT_WS(separator, string1, string2, ..., stringN)
separator
string1, string2, …, stringN
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 |
+-------------------------+