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

DATEDIFF()関数の引数として日付コンポーネントとともに時間コンポーネントを含めると、MySQLは何を返しますか?


MySQL DATEDIFF()関数も日付と時刻の値で機能しますが、時刻の値は無視されます。したがって、DATEDIFF()関数に時刻の値を含めても、MySQLは時刻の値を無視することにより、日付間の差を日数で返します。

mysql> Select DATEDIFF('2018-10-22 04:05:36','2017-10-22 03:05:45');
+-------------------------------------------------------+
| DATEDIFF('2018-10-22 04:05:36','2017-10-22 03:05:45') |
+-------------------------------------------------------+
|                                                   365 |
+-------------------------------------------------------+
1 row in set (0.00 sec)

mysql> Select DATEDIFF('2017-10-22 04:05:36','2017-10-22 03:05:45');
+-------------------------------------------------------+
| DATEDIFF('2017-10-22 04:05:36','2017-10-22 03:05:45') |
+-------------------------------------------------------+
|                                                     0 |
+-------------------------------------------------------+
1 row in set (0.00 sec)

上記のクエリは、DATEDIFF()関数が日付間の差を計算するときに時間値を無視する方法を示しています。


  1. INTERVAL()関数の最初の引数がNULLの場合、MySQLは何を返しますか?

    MySQLは、INTERVAL()関数の最初の引数がNULLの場合、出力として-1を返します。次の例はそれを示します- mysql> Select INTERVAL(NULL,20,32,38,40,50,55); +--------------------------------------+ | INTERVAL(NULL,20,32,38,40,50,55)     | +--------------------------------------+ | -1               &n

  2. MySQL INTERVAL()関数とは何ですか?

    MySQL INTERVAL()関数は、最初の引数よりも大きい引数のインデックス値を返します。 構文 INTERVAL(N,N1,N2,N3,…) ここで、この関数は最初の引数、つまりNを他の引数、つまりN1、N2、N3などと比較します。すべての引数は整数として扱われます。次のように出力を返します- N