SQL Server (Transact-SQL) CONCAT_WS() 函数用于将两个或多个表达式连接在一起,并在每个连接的表达式之间添加分隔符。该函数可以有一个或多个表达式。请注意,如果任何表达式为 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'
示例2:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | FirstName | LastName |
---|---|---|
1 | John | Smith |
2 | Marry | Knight |
3 | Jo | Williams |
4 | Kim | Fischer |
5 | Ramesh | Gupta |
6 | Huang | Zhang |
在下面的查询中,CONCAT_WS() 函数用于连接记录FirstName 列和 LastName 列。
SELECT *, CONCAT_WS(' ', FirstName, LastName) AS FullName FROM Employee;
这将产生如下所示的结果:
EmpID | FirstName | LastName | FullName |
---|---|---|---|
1 | John | Smith | John Smith |
2 | Marry | Knight | Marry Knight |
3 | Jo | Williams | Jo Williams |
4 | Kim | Fischer | Kim Fischer |
5 | Ramesh | Gupta | Ramesh Gupta |
6 | Huang | Zhang | Huang Zhang |