DATEDIFF 只计算到天的单位
TIMEDIFF 精确到毫秒单位
mysql> SELECT DATEDIFF (
-> '2000-01-01 00:00:00.000000',
-> '2000-01-02 05:06:07.000008') A;
+------+
| A |
+------+
| -1 |
+------+
1 row in set (0.00 sec)
mysql> SELECT
-> TIMEDIFF ('2000-01-01 00:00:00.000000',
-> '2000-01-02 05:06:07.000008') A;
+------------------+
| A |
+------------------+
| -29:06:07.000008 |
+------------------+
1 row in set (0.00 sec)
如果 要以秒为单位返回,使用 TIME_TO_SEC 函数:
mysql> SELECT
-> TIME_TO_SEC(
-> TIMEDIFF ('2000-01-01 00:00:00.000000',
-> '2000-01-02 05:06:07.000008')) A;
+---------+
| A |
+---------+
| -104767 |
+---------+
1 row in set (0.03 sec)