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

INSERT()を使用してMySQLの別の文字列に文字列を挿入する方法

    MySQLでは、INSERT()を使用できます 文字列を別の文字列に挿入する関数。

    文字列の一部を別の文字列に置き換える(単語を置き換えるなど)か、元の文字列を維持したまま挿入する(単語を追加するなど)ことができます。この関数は、元の文字列が何であるか、新しい文字列を挿入する位置、元の文字列から削除する文字数、および挿入する新しい文字列を決定する4つの引数を受け入れます。

    構文は次のとおりです。

    INSERT(str,pos,len,newstr)

    str 元の文字列、pos 新しい文字列が挿入される位置です。len は元の文字列から削除する文字数であり、newstr 挿入する新しい文字列です。

    単語を置き換える

    INSERT()を使用する例を次に示します。 文字列内の単語を置き換えるには:

    SELECT INSERT('Cats and dogs', 6, 3, 'like');

    結果:

    Cats like dogs

    これにより、andという単語が効果的に置き換えられます。 likeという言葉で 。 6を使用しました 単語とは6文字のマークで始まり、3を使用したためです。 削除したい文字数(andという単語)だからです 長さは3文字です。

    単語を挿入

    ここでは、元の文字列から何も削除せずに単語を挿入するだけです:

    SELECT INSERT('Cats and dogs', 10, 0, 'big ');

    結果:

    Cats and big dogs

    元の文字列から何も削除されない理由は、0を指定したためです。 (つまり、ゼロ文字を削除する必要があります)。

    範囲外の値

    元の文字列の長さの外側の位置を指定すると、MySQLは元の文字列を変更せずに返します。

    例:

    SELECT INSERT('Cats and dogs', 20, 4, 'rabbits');

    結果:

    Cats and dogs

    負の開始位置を使用する別の例を次に示します。

    SELECT INSERT('Cats and dogs', -1, 4, 'rabbits');

    結果:

    Cats and dogs

    これは、MySQLのINSERT()の違いの1つです。 関数とTransact-SQLのSTUFF() 働き。 T-SQLでは、STUFF() 関数はNULLを返します このような場合。

    NULL値の挿入

    MySQLのINSERT()が存在するもう1つの領域 T-SQLのSTUFF()とは異なります NULL値を使用します。 NULL値を挿入しようとすると、MySQLはNULLを返します。 。

    SELECT INSERT('Cats and dogs', 6, 3, NULL);

    結果:

    NULL

    1. SQLite参加

    2. PostgreSQLで行が更新されたときにタイムスタンプを更新する

    3. PostgreSQLおよびJDBCでのClassNotFoundException

    4. INオペレーターはOracleでLIKEワイルドカード(%)を使用できますか?