例如,如何计算这些两个日期时间之间的间隔:如何计算MySQL中的datetime间隔?
2009-09-18 00:00:00
2009-10-17 00:00:00
EDIT
我的意思是让在年 - 月 - 日时的格式的时间间隔:分:秒
例如,如何计算这些两个日期时间之间的间隔:如何计算MySQL中的datetime间隔?
2009-09-18 00:00:00
2009-10-17 00:00:00
EDIT
我的意思是让在年 - 月 - 日时的格式的时间间隔:分:秒
关于使用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)
引述手册:
DATEDIFF()
回报expr1 – expr2
表示为天的值从一个 日期到另一个。 expr1和expr2 是日期或日期和时间表达式。
只有计算中使用的值的日期部分是 。
你可以只减去日期时间,它会返回值:
select(now() - interval 2 day) - (now() - interval 5 day);
结果不是日期时间(这是一些十进制编码日期 - 在这种情况下为三天3000000),但将日期时间和时间间隔视为相同的数据类型并不正确。
或者使用TIMESTAMPDIFF()是这样的:
TIMESTAMPDIFF(微秒,yourtime,现在())
所述第一参数的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)