MySQL CONCAT_WS() 函数使用指南

MySQL CONCAT_WS() 函数用来通过指定的分隔符按顺序拼接指定的 2 个或多个字符串,并返回拼接后的字符串。

如果拼接的参数中一个为 NULL, CONCAT_WS() 函数会忽略 NULL 值。

如果只有一个参与拼接的字符串参数,则原样返回此字符串。

CONCAT_WS() 语法

这里是 MySQL 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() 函数返回使用分隔符连接后的多个字符串。
  • 如果 separatorNULLCONCAT_WS() 函数将返回 NULL
  • 如果 string1, string2, ..., stringN 中有 NULL,则会被 CONCAT_WS() 函数忽略。

CONCAT_WS() 示例

  • 要使用 - 拼接字符串 'Hello''World',请使用如下的语句:

    SELECT CONCAT_WS('-', 'Hello', 'World');
    
    +----------------------------------+
    | CONCAT_WS('-', 'Hello', 'World') |
    +----------------------------------+
    | Hello-World                      |
    +----------------------------------+
  • 分隔符可以使用一个字符串:

    SELECT CONCAT_WS('----', 'Hello', NULL, 'World');
    
    +-------------------------------------------+
    | CONCAT_WS('----', 'Hello', NULL, '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                   |
    +-------------------------+