文字列連結演算子 (データベース エンジン)
文字列連結演算子はプラス記号 (+) です。複数の文字を 1 つの文字列に結合できます。バイナリ文字列も連結できます。連結の例は次のとおりです。
SELECT ('abc' + 'def');
以下に結果セットを示します。
------
abcdef
(1 行処理されました)
次のクエリでは、Moniker 列にある最初の 4 つの連絡先の名前が、姓、名の順に表示されます。姓と名はコンマとスペースで区切られます。
USE AdventureWorks2008R2;
GO
SELECT LastName + ', ' + FirstName AS Moniker
FROM Person.Person
WHERE BusinessEntityID < 5;
以下に結果セットを示します。
Moniker
-------------------------
Achong, Gustavo
Abel, Catherine
Abercrombie, Kim
Acevedo, Humberto
(4 行処理されました)
datetime や smalldatetime などの他のデータ型の場合は、CAST 変換関数を使用して文字列に変換してから、文字列を連結する必要があります。
USE AdventureWorks2008R2;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO
以下に結果セットを示します。
---------------------------------------
The due date is Jul 13 2005 12:00AM
(1 行処理されました)
空文字列 ('') は、1 つのスペースとして評価されます。
SELECT 'abc' + '' + 'def';
以下に結果セットを示します。
-------
abcdef
(1 行処理されました)
注 |
---|
空文字列 ('') を 1 つの空白文字と空の文字のどちらに解釈するかは、データベースの互換性レベルの設定によって決まります。この例では、互換性レベルが 65 の場合、空リテラルは 1 つのスペースとして扱われます。 |
入力文字列がどちらも同じ照合順序のときは、出力文字列の照合順序は入力文字列と同じになります。入力文字列の照合順序が異なるときは、照合の優先順位のルールで出力文字列の照合順序が指定されます。また、COLLATE 句を使用して特定の照合を割り当てることもできます。