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)
-
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)ストレージは次のとおりで
-
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