在本教程中,将学习如何使用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()
函数来连接三个文字字符串:YiiBai
,.
和Com
:
SELECT
'YiiBai' + '.' + 'Com' AS doname;
执行上面查询语句,得到以下结果:
doname
---------
YiiBai.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()
函数将两个或多个字符串连接成一个字符串。