如何计算MySQL中日期时间间隔?

omg*_*omg 11 mysql sql

例如,如何计算这两个日期时间之间的间隔:

2009-09-18 00:00:00

2009-10-17 00:00:00

编辑

我的意思是以年 - 月 - 日小时的格式得到间隔:min:秒

Pas*_*TIN 11

怎么样使用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)
Run Code Online (Sandbox Code Playgroud)

引用手册:

DATEDIFF()退货expr1 – expr2 表示为从一个日期到另一个日期的天数值.expr1和expr2是日期或日期和时间表达式.
在计算中仅使用值的日期部分.


Jan*_*rgs 5

你可以尝试DATEDIFFTIMEDIFF


小智 5

或者像这样使用 timestampdiff() :

timestampdiff(微秒,yourtime,now())

第一个参数是mysql的日期时间单位,可以是“微秒,秒,分,小时,日,年”,这个函数的意思是第三个参数datetime减去第二个参数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)
Run Code Online (Sandbox Code Playgroud)