如何使用 CONCAT() 连接 SQL Server 中的字符串

发布于

在 SQL Server 中,可以使用 T-SQL 函数连接两个或多个字符串。您还可以使用 SQL Server 的字符串连接运算符 () 来执行相同的操作。这里对两者都有解释。CONCAT()``+

在 SQL Server(以及任何计算机编程环境)中,字符串串联是端到端连接字符串的操作。

下面是一个示例:

SELECT CONCAT(‘Peter’, ’ ‘, ‘Griffin’) AS ‘Full Name’;

输出:

Full Name    
-------------
Peter Griffin

请注意,我实际上在这里连接了 3 个字符串。我连接了名字,姓氏,加上一个空格。

如果我不添加空格,它将如下所示:

SELECT CONCAT(‘Peter’, ‘Griffin’) AS ‘Full Name’;

输出:

Full Name   
------------
PeterGriffin

这可能是也可能不是您正在寻找的结果。

因此,如果我们将其应用于数据库,则查询可能如下所示:

SELECT CONCAT(FirstName, ’ ‘, LastName) AS ‘Full Name’ FROM Individuals WHERE IndividualId = ‘1’;

输出:

Full Name    
-------------
Peter Griffin

如果要连接两个以上的字符串,并且需要空格(或其他分隔符),请考虑使用 CONCAT_WS() 函数。这允许您指定要在每个字符串之间使用的分隔符。您只需指定一次分隔符,它将用于连接的每个字符串,因此您不必在每个字符串之间重新键入它。

空参数

如果你熟悉 MySQL ,你可能知道它还有一个CONCAT()函数。但是,SQL Server的函数和MySQL的函数之间的一个区别是它们如何处理参数。CONCAT()``CONCAT()``NULL

在 MySQL 中,如果任何参数为 .但是,在 SQL Server 中,您可以添加一个参数,而不会产生结果。CONCAT()``NULL``NULL``NULL``NULL

MySQL

以下是MySQL所做的:

SELECT CONCAT(‘Homer’, NULL, ‘Simpson’) AS ‘Full Name’;

输出:

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

SQL Server

以下是 SQL Server 的功能:

SELECT CONCAT(‘Peter’, NULL, ‘Griffin’) AS ‘Full Name’;

输出:

Full Name   
------------
PeterGriffin

另一种连接方式 – 字符串连接运算符 (+)

SQL Server 提供了另一种连接字符串的方法。可以使用字符串串联运算符。+

SELECT ‘Peter’ + ’ ’ + ‘Griffin’ AS ‘Full Name’;

输出:

Full Name    
-------------
Peter Griffin