sql >> データベース >  >> RDS >> Mysql

CONCAT()を使用してMySQLの文字列を連結する方法

    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のドキュメントには次のように記載されています:

    すべての引数が非バイナリ文字列の場合、結果は非バイナリ文字列になります。引数にバイナリ文字列が含まれている場合、結果はバイナリ文字列になります。数値引数は、同等の非バイナリ文字列形式に変換されます。


    1. psql:サーバーが予期せず接続を閉じました

    2. SQLServerデータをテーブルからCSVファイルにエクスポートする方法

    3. LIKE'%...%'ワイルドカードクエリのPL/SQLパフォーマンスチューニング

    4. マルチクラウドデータベースでのMySQLスプリットブレインの排除