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函數