在本教學中,將學習如何使用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函數