如何使用 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