SQL Server Concat()函数

在本教程中,将学习如何使用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_namelast_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输出

如输出中显示的那样,如果客户没有电话号码(NULL),则CONCAT()函数使用空值进行连接。

请注意,这里使用CHAR()函数来获取此示例中的新行字符。

在本教程中,学习了如何使用SQL Server CONCAT()函数将两个或多个字符串连接成一个字符串。


上一篇: SQL Server字符串函数 下一篇: SQL Server Window函数