MySQL INSERT() 関数は、挿入位置が文字列長の範囲内にない場合、挿入操作を実行しません。負の値や 0 (ゼロ) の値を渡す場合、または値が元の文字列の合計文字数の 2 値を超える場合など、「pos」は正しくないと言える場合があります。文字列の長さの範囲内で。次の例から理解できます。
次のクエリは、'pos' が文字列長の範囲内にない、つまり負の値であるため、挿入操作を実行しません。価値。
mysql> Select INSERT('Tutorialspoint',-1,4,'.com'); +--------------------------------------+ | INSERT('Tutorialspoint',-1,4,'.com') | +--------------------------------------+ | Tutorialspoint | +--------------------------------------+ 1 row in set (0.00 sec)
「pos」が文字列の長さである 0 (ゼロ) 内にないため、以下のクエリでは挿入は実行されません。
mysql> Select INSERT('Tutorialspoint',0,4,'.com'); +-------------------------------------+ | INSERT('Tutorialspoint',0,4,'.com') | +-------------------------------------+ | Tutorialspoint | +-------------------------------------+ 1 row in set (0.00 sec)
次のクエリでは、「pos」が文字列の長さの範囲内にないため、つまり元の文字列の文字数を 2 超えている値であるため、挿入は実行されません。以下の例では、元の文字列「Tutorialspoint」は 14 文字であり、挿入が行われないように位置の値を 16 に指定しています。
えええええ以上が「Pos」が文字列の長さの範囲内にない場合、関数 INSERT(str, Pos, len, newstr) の結果はどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。