MariaDB 函数

MariaDB CONCAT_WS() 函数用于将两个或多个表达式连接在一起,并在每个连接的表达式之间添加分隔符,即字符串拼接。该函数可以有一个或多个表达式。使用此函数时请注意以下几点:

  • 如果任何表达式为 NULL,则该函数在连接时会忽略 NULL 值,并且不会在 NULL 值之间添加分隔符。
  • 如果分隔符为 NULL,则该函数将返回 NULL 值。

语法

CONCAT_WS(separator, expr1, expr2, ... expr_n) 

参数

separator必需。 指定将在每个连接表达式之间添加的分隔符。
expr1, expr2, ... expr_n必填。 指定要连接在一起的表达式。

返回值

返回连接后的字符串。

示例1:

下面的示例展示了CONCAT_WS()函数的用法。

SELECT CONCAT_WS(' ', 'SQL', 'Tutorial');
Result: 'SQL Tutorial'

SELECT CONCAT_WS(' ', 'Learning', 'SQL', 'is', 'fun!.');
Result: 'Learning SQL is fun!.'

SELECT CONCAT_WS(', ', 10, 20, 30, 40);
Result: '10, 20, 30, 40'

SELECT CONCAT_WS(' = ', 'Sum', 25 + 25);
Result: 'Sum = 50'

SELECT CONCAT_WS(', ', 10, 20, NULL, 40);
Result: '10, 20, 40'

SELECT CONCAT_WS(NULL, 10, 20, 30, 40);
Result: NULL 

示例2:

考虑一个名为 Employee 的数据库表,其中包含以下记录:

EmpIDFirstNameLastName
1JohnSmith
2MarryKnight
3JoWilliams
4KimFischer
5RameshGupta
6HuangZhang

在下面的查询中,CONCAT_WS() 函数用于连接记录FirstName 列和 LastName 列。

SELECT *, CONCAT_WS(' ', FirstName, LastName) AS FullName FROM Employee; 

这将产生如下所示的结果:

EmpIDFirstNameLastNameFullName
1JohnSmithJohn Smith
2MarryKnightMarry Knight
3JoWilliamsJo Williams
4KimFischerKim Fischer
5RameshGuptaRamesh Gupta
6HuangZhangHuang Zhang