Na przykład, jak obliczyć interwał między tymi dwoma datetime:Jak obliczyć interwał między datetime w MySQL?
2009-09-18 00:00:00
2009-10-17 00:00:00
EDIT
to znaczy, aby uzyskać interwał w formacie rok-miesiąc-dzień godzina: min: sek
Na przykład, jak obliczyć interwał między tymi dwoma datetime:Jak obliczyć interwał między datetime w MySQL?
2009-09-18 00:00:00
2009-10-17 00:00:00
EDIT
to znaczy, aby uzyskać interwał w formacie rok-miesiąc-dzień godzina: min: sek
Co na temat korzystania datediff
:
mysql> select abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00'));
+-------------------------------------------------------------+
| abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')) |
+-------------------------------------------------------------+
| 29 |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
Cytując instrukcję:
DATEDIFF()
powracaexpr1 – expr2
wyrażoną jako wartość w dniach od jednego Data do drugiej. Wyrażenia1 i wyr2 są wyrażeniami daty lub daty i czasu.
Tylko część daty z wartościami jest używana do obliczeń.
można po prostu odejmować datetimes i zwróci wartość:
wybierz (teraz() - przerwa 2 dni) - (teraz() - przerwa 5 dni);
Wynik nie jest datetime (jest to data zakodowana dziesiętnie - 3000000 na trzy dni w tym przypadku), ale nie jest właściwe, aby powiedzieć, datetime i interwał jako ten sam typ danych.
Albo użyć timestampdiff() tak:
timestampdiff (mikrosekundy, yourtime, teraz())
pierwszy parametr jest jednostka mysql datetime, może być „mikrosekund, drugi , minuta, godzina, dzień, rok ", a ta funkcja oznacza 3. datetime parametru minus 2. parametr datetime.
mysql> select timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00");
+---------------------------------------------------------------------+
| timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00") |
+---------------------------------------------------------------------+
| 2505600 |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)