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

MySQL TIMEDIFF()関数の出力がTIMEフィールドの範囲値を超えるとどうなりますか?


MySQLのTIMEフィールドの範囲は‘-838:59:59’であることがわかっています。 「838:59:59」 。これで、TIMEDIFF()関数の出力がこの範囲を超えると、MySQLは「-838:59:59」または「838:59:59」のいずれかを返します。 引数の値によって異なります。

mysql> Select TIMEDIFF('2017-09-01 03:05:45','2017-10-22 03:05:45')AS 'Out of Range TIME Difference';
+------------------------------+
| Out of Range TIME Difference |
+------------------------------+
| -838:59:59                   |
+------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Select TIMEDIFF('2017-10-22 04:05:45','2017-09-01 03:05:45')AS 'Out of Range TIME Difference';
+------------------------------+
| Out of Range TIME Difference |
+------------------------------+
| 838:59:59                    |
+------------------------------+
1 row in set, 1 warning (0.01 sec)

上記のクエリは、合計の差が範囲外の場合、MySQLがTIMEフィールドの範囲の最大または最小の制限値を返すことを示しています。


  1. MySQLフィールドでのゼロフィルの使用法は何ですか?

    ゼロフィルは、フィールドの表示値を、列定義で指定された表示幅までゼロで埋めます。たとえば、columnがint(8)に設定されている場合、幅は8になります。数値が4376の場合、左側にゼロが埋め込まれ、合計幅が8になります- 00004376 まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Number int(8) zerofill -> ); Query OK, 0 rows affected (0.50 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>

  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