文字列連結演算子 (データベース エンジン)

文字列連結演算子はプラス記号 (+) です。複数の文字を 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 句を使用して特定の照合を割り当てることもできます。