MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL INSERT()関数の挿入位置が範囲外の場合はどうなりますか?


MySQL INSERT()関数は、挿入位置が範囲外の場合、挿入を実行しません。負の値または0(ゼロ)の値を渡した場合、または値が元の文字列の文字の総数の値を2超えた場合、挿入の位置が範囲外になる可能性があります。これは、助けを借りて理解できます。次の例の-

以下のクエリでは、挿入位置が範囲外、つまり負の値であるため、挿入は実行されません。

mysql> Select INSERT('Virat', -1,5,'Kohli');
+-------------------------------+
| INSERT('Virat', -1,5,'Kohli') |
+-------------------------------+
| Virat                         |
+-------------------------------+
1 row in set (0.00 sec)

以下のクエリは、挿入の位置が範囲外、つまり0(ゼロ)であるため、挿入を実行しません。

mysql> Select INSERT('Virat', 0,5,'Kohli');
+------------------------------+
| INSERT('Virat', 0,5,'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)

以下のクエリは、挿入の位置が範囲外であるため、つまり元の文字列の文字数の値を2超えているため、挿入を実行しません。次の例では、元の文字列'Virat'は5文字で、与える位置の値は7であるため、挿入は行われません。

mysql> Select INSERT('Virat', 7,5,'Kohli');
+------------------------------+
| INSERT('Virat', 7,5,'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)

  1. MySQL DECIMAL(x、0)の範囲はどのくらいですか?

    DECIMALデータ型の範囲は、INTEGERデータ型およびBIGINTを超えています。 BIGINTは18446744073709551615を格納できますが、DECIMALではDECIMAL(65,0)を格納できます。ここで、xは65ナイン(9)を表します。 DECIMALは数値をバイト単位で格納し、ストレージ要件の式は次のとおりです。DECIMAL(x、0)つまり StorageRequirementInBytes = (x/9) + remaining; WHERE remaining = round_up( (x%9) / 2 ) DECIMAL(65,0)ストレージは次のとおりで

  2. MySQLのCHAR()の逆関数は何ですか

    CHAR()の逆関数は、MySQLのASCII()またはORD()です。ここで、ASCII()は左端の文字の数値を返しますが、ORD()は引数の左端の文字の文字コードを返します まずテーブルを作成しましょう- mysql> create table DemoTable (    Value int,    Value1 char(1),    Value2 char(1) ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys