在本教程中,将学习如何使用SQL Server CONCAT()函数将多个字符串连接成一个字符串。
SQL Server CONCAT()函数简介
使用CONCAT()函数可将两个或多个字符串连接成一个字符串,语法如下:
CONCAT ( input_string1, input_string2 [, input_stringN ] );
CONCAT()接收最多255个输入字符串并将它们连接成一个字符串。 它至少需要两个输入字符串。 如果传递一个输入字符串,CONCAT()函数将会引发错误。
如果传递非字符串值,CONCAT()函数将在连接之前将这些值隐式转换为字符串。
CONCAT()函数还将NULL转换为类型为VARCHAR(1)的空字符串。
请注意,要在连接期间添加分隔符,请使用CONCAT_WS()函数。
SQL Server CONCAT()函数示例
下面举一些例子来熟悉如何使用CONCAT()函数。
1. 将CONCAT()函数与文字字符串一起使用
以下示例使用CONCAT()函数来连接三个文字字符串:zaixian,.和Com:
SELECT
'zaixian' + '.' + 'Com' AS doname;
执行上面查询语句,得到以下结果:
doname
---------
xuhuhu.com
(1 row affected)
2. 将CONCAT()函数与表列一起使用
此示例使用示例数据库中的sales.customers表。

以下语句使用CONCAT()函数来连接sales.customers表的first_name和last_name列中的值:
SELECT
customer_id,
first_name,
last_name,
CONCAT(first_name, ' ', last_name) full_name
FROM
sales.customers
ORDER BY
full_name;
执行上面查询语句,得到以下结果:
3. CONCAT()函数处理NULL值
以下示例使用CONCAT()函数为客户设置地址格式:
SELECT
CONCAT(
CHAR(13),
CONCAT(first_name,' ',last_name),
CHAR(13),
phone,
CHAR(13),
CONCAT(city,' ',state),
CHAR(13),
zip_code
) customer_address
FROM
sales.customers
ORDER BY
first_name,
last_name;
执行上面查询语句,得到以下结果:

如输出中显示的那样,如果客户没有电话号码(NULL),则CONCAT()函数使用空值进行连接。
请注意,这里使用CHAR()函数来获取此示例中的新行字符。
在本教程中,学习了如何使用SQL Server CONCAT()函数将两个或多个字符串连接成一个字符串。
上一篇:
SQL Server字符串函数
下一篇:
SQL Server Window函数
