MariaDB CONCAT_WS() 函数使用指南

在 MariaDB 中,CONCAT_WS() 是一个内置的字符串函数,它使用指定的分隔符连接其他字符串参数并返回结果。

如果您不需要使用分隔符连接字符串,请使用 CONCAT() 函数。

MariaDB CONCAT_WS() 语法

这里是 MariaDB CONCAT_WS() 函数的语法:

CONCAT_WS(separator, str1, str2, ..., strN)

参数说明

separator
必需的。分隔符。您可以使用单个字符,也可以使用字符串。
str1, str2, ..., strN
必需的。需要连接的字符串列表。

字符串列表中的 NULL 值将会被忽略。

当不指定字符串时,MariaDB 将会报错: ERROR 1582 (42000): Incorrect parameter count in the call to native function ‘CONCAT_WS’。

如果您不指定参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'

返回值

MariaDB CONCAT_WS() 函数返回使用分隔符连接给定的多个字符串并返回结果。

如果分隔符 separatorNULLCONCAT_WS() 函数将返回 NULL

MariaDB CONCAT_WS() 示例

单个字符做分隔符

下面的语句利用 MariaDB CONCAT_WS() 函数使用 , 做为分隔符连接这几个水果名称 Apple, Peach, Banana:

SELECT CONCAT_WS( ',', 'Apple', 'Peach', 'Banana');

输出:

+---------------------------------------------+
| CONCAT_WS( ',', 'Apple', 'Peach', 'Banana') |
+---------------------------------------------+
| Apple,Peach,Banana                          |
+---------------------------------------------+

字符串做为分隔符

您可以使用一个字符串作为分隔符。

下面的语句利用 MariaDB CONCAT_WS() 函数使用 ---- 做为分隔符连接这几个水果名称 Apple, Peach, Banana:

SELECT CONCAT_WS( '-----', 'Apple', 'Peach', 'Banana');

输出:

+-------------------------------------------------+
| CONCAT_WS( '-----', 'Apple', 'Peach', 'Banana') |
+-------------------------------------------------+
| Apple-----Peach-----Banana                      |
+-------------------------------------------------+

连接 NULL 参数

字符串列表中的 NULL 值会被 CONCAT_WS() 忽略。

下面的示例说明了这一点:

SELECT CONCAT_WS( ',', 'Apple', NULL, 'Banana');

输出:

+------------------------------------------+
| CONCAT_WS( ',', 'Apple', NULL, 'Banana') |
+------------------------------------------+
| Apple,Banana                             |
+------------------------------------------+

缺少字符串列表

如果您不指定字符串列表,CONCAT_WS() 函数将返回一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'

SELECT CONCAT_WS(',');

输出:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'

二进制字符串

如果您使用二进制字符串, CONCAT_WS() 函数也返回二进制字符串。

SELECT CONCAT_WS( ',', BINARY 'Apple', 'Peach');

输出:

+------------------------------------------+
| CONCAT_WS( ',', BINARY 'Apple', 'Peach') |
+------------------------------------------+
| Apple,Peach                              |
+------------------------------------------+

您可以使用 COLLATION() 函数来检查结果的排序规则:

SELECT COLLATION(CONCAT_WS( ',', BINARY 'Apple', 'Peach'));

输出:

+-----------------------------------------------------+
| COLLATION(CONCAT_WS( ',', BINARY 'Apple', 'Peach')) |
+-----------------------------------------------------+
| binary                                              |
+-----------------------------------------------------+

结论

MariaDB CONCAT_WS() 函数使用指定的分隔符连接制定的字符串列表并返回结果。