文字列連結演算子 (データベース エンジン)
文字列連結演算子はプラス記号 (+) です。複数の文字を 1 つの文字列に結合できます。バイナリ文字列も連結できます。連結の例は次のとおりです。
SELECT ('abc' + 'def');
以下に結果セットを示します。
------
abcdef
(1 row(s) affected)
次のクエリでは、Moniker
列にある最初の 4 つの連絡先の名前が、姓、名の順に表示されます。姓と名はコンマとスペースで区切られます。
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)
空文字列 ('') は、スペース 1 つとして評価されます。
SELECT 'abc' + '' + 'def'
以下に結果セットを示します。
-------
abcdef
(1 row(s) affected)
メモ : |
---|
空文字列 ('') を 1 つの空白文字と空の文字のどちらに解釈するかは、sp_dbcmptlevel の互換性レベルの設定によって決まります。この例では、sp_dbcmptlevel が 65 の場合、空リテラルは 1 つのスペースとして扱われます。 |
入力文字列がどちらも同じ照合順序のときは、出力文字列の照合順序は入力文字列と同じになります。入力文字列の照合順序が異なるときは、照合の優先順位のルールで出力文字列の照合順序が指定されます。また、COLLATE 句を使用して特定の照合を割り当てることもできます。
参照
その他の技術情報
COLLATE (Transact-SQL)
照合順序の優先順位 (Transact-SQL)
演算子 (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
+ (文字列連結) (Transact-SQL)