SQL Serverでは、T-SQLのCONCAT()
を使用して、2つ以上の文字列を連結できます。 働き。 SQL Serverの文字列連結演算子(+
)を使用することもできます )同じことをする。ここでは両方について説明します。
SQL Server(および任意のコンピュータープログラミング環境)では、文字列の連結は、文字列をエンドツーエンドで結合する操作です。
次に例を示します:
SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';
結果:
Full Name ------------- Peter Griffin
ここで実際に3つの文字列を連結したことに注意してください。名、名前、およびスペースを連結しました。
スペースを追加しなかった場合は、次のようになります。
SELECT CONCAT('Peter', 'Griffin') AS 'Full Name';
結果:
Full Name ------------ PeterGriffin
探している結果である場合とそうでない場合があります。
したがって、これをデータベースに適用すると、クエリは次のようになります。
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name' FROM Individuals WHERE IndividualId = '1';
結果:
Full Name ------------- Peter Griffin
3つ以上の文字列を連結していて、スペース(または他の区切り文字)が必要な場合は、CONCAT_WS()
の使用を検討してください。 働き。これにより、各文字列の間に使用する区切り文字を指定できます。区切り文字を指定する必要があるのは1回だけで、連結されるすべての文字列で使用されるため、各文字列間で区切り文字を再入力する必要がありません。
NULL引数
MySQLに精通している場合は、MySQLにもCONCAT()
があることをご存知かもしれません。 働き。ただし、SQLServerのCONCAT()
の違いは1つです。 関数とMySQLのCONCAT()
関数は、NULL
を処理する方法です 引数。
MySQLでは、CONCAT()
関数はNULL
を返します 引数がNULL
の場合 。ただし、SQL Serverでは、NULL
を追加できます。 引数を指定しないと、NULL
になります 結果。
MySQL
MySQLの機能は次のとおりです。
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
結果:
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
SQL Server
SQLServerの機能は次のとおりです。
SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';
結果:
Full Name ------------ PeterGriffin
連結する別の方法–文字列連結演算子(+
)
SQL Serverは、文字列を連結する別の方法を提供します。 +
を使用できます 文字列連結演算子。
SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';
結果:
Full Name ------------- Peter Griffin