字串串連運算子 (Database Engine)
字串串連運算子的符號為加號 (+)。您可以將二或多個字元字串合併或串連成一個字元字串。您也可以串連二進位字串。以下是串連的範例:
SELECT ('abc' + 'def');
以下為結果集:
------
abcdef
(1 row(s) affected)
以下查詢將前四個連絡人的名稱以姓氏、名字的順序顯示於 Moniker
資料行下方,並在姓氏後面加上逗號及空格。
USE AdventureWorks;
GO
SELECT LastName + ', ' + FirstName AS Moniker
FROM Person.Contact
WHERE ContactID < 5;
以下為結果集:
Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto
(4 row(s) affected)
其他的資料類型,例如 datetime 與 smalldatetime,必須使用 CAST 轉換函數轉換成字元字串之後才能和字串串連。
USE AdventureWorks;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO
以下為結果集:
---------------------------------------
The due date is Jul 13 2001 12:00AM
(1 row(s) affected)
空白字串 ('') 的驗算結果為一個空格:
SELECT 'abc' + '' + 'def'
以下為結果集:
-------
abcdef
(1 row(s) affected)
附註: |
---|
空白字串 ('') 解譯成空白字元或空字元是由 sp_dbcmptlevel 的相容性層級設定值來決定。對於此範例而言,如果 sp_dbcmptlevel 為 65,空常值便視為單一的空白。 |
當兩個輸入字串有相同的定序,輸出字串會具有與輸入字串相同的定序。如果輸入字串有不同的定序,定序優先順序的規則會決定輸出字串的定序。您也可以使用 COLLATE 子句來指派特定的定序。
請參閱
其他資源
COLLATE (Transact-SQL)
定序優先順序 (Transact-SQL)
運算子 (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
+ (字串串連) (Transact-SQL)