MySQLにはCONCAT()
があります 関数。2つ以上の文字列を連結できます。この関数は実際には1つ以上の引数を許可しますが、その主な用途は2つ以上の文字列を連結することです。
MySQL(および任意のコンピュータープログラミング環境)では、文字列の連結は文字列をエンドツーエンドで結合する操作です。
次に例を示します:
SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';
結果:
+---------------+ | Full Name | +---------------+ | Homer Simpson | +---------------+
ここで実際に3つの文字列を連結したことに注意してください。名、名前、およびスペースを連結しました。
スペースを追加しなかった場合は、次のようになります。
SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';
結果:
+--------------+ | Full Name | +--------------+ | HomerSimpson | +--------------+
探している結果である場合とそうでない場合があります。
したがって、これをデータベースに適用すると、クエリは次のようになります。
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name' FROM Individuals WHERE IndividualId = '1';
結果:
+---------------+ | Full Name | +---------------+ | Homer Simpson | +---------------+
3つ以上の文字列を連結していて、スペース(または他の区切り文字)が必要な場合は、CONCAT_WS()
の使用を検討してください。 働き。これにより、各文字列の間に使用する区切り文字を指定できます。区切り文字を指定する必要があるのは1回だけで、連結されるすべての文字列で使用されるため、各文字列間で区切り文字を再入力する必要がありません。
NULL引数
CONCAT()
関数はNULL
を返します 引数がNULL
の場合 。
例:
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
結果:
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
バイナリ文字列と非バイナリ文字列
MySQLのドキュメントには次のように記載されています:
すべての引数が非バイナリ文字列の場合、結果は非バイナリ文字列になります。引数にバイナリ文字列が含まれている場合、結果はバイナリ文字列になります。数値引数は、同等の非バイナリ文字列形式に変換されます。