Mysql在两个时间戳之间的天数差异?

如何获得几天内两个时间戳之间的差异?我应该为此使用datetime列吗?


我将专栏切换为日期时间。简单的减法似乎并没有在几天内给我带来结果。

mysql> SELECT NOW(), last_confirmation_attempt, NOW() - last_confirmation_attempt AS diff  FROM DateClubs HAVING diff IS NOT NULL ;

+---------------------+---------------------------+-----------------+

| NOW() | last_confirmation_attempt | diff |

+---------------------+---------------------------+-----------------+

| 2010-03-30 10:52:31 | 2010-03-16 10:41:47 | 14001084.000000 |

+---------------------+---------------------------+-----------------+

1 row in set (0.00 sec)

我不认为diff是几秒钟,因为当我将diff一天中的秒数除以(86,400)时,我不会得到一个明智的答案:

mysql> SELECT NOW(), last_confirmation_attempt, ( NOW() - last_confirmation_attempt) / 86400 AS diff  FROM DateClubs HAVING diff IS NOT NULL ;

+---------------------+---------------------------+----------------+

| NOW() | last_confirmation_attempt | diff |

+---------------------+---------------------------+----------------+

| 2010-03-30 10:58:58 | 2010-03-16 10:41:47 | 162.0568402778 |

+---------------------+---------------------------+----------------+

1 row in set (0.00 sec)

回答:

如果您乐于忽略列中的时间部分,则DATEDIFF()会为您提供以天为单位的时差。

SELECT DATEDIFF('2010-10-08 18:23:13', '2010-09-21 21:40:36') AS days;

+------+

| days |

+------+

| 17 |

+------+

以上是 Mysql在两个时间戳之间的天数差异? 的全部内容, 来源链接: utcz.com/qa/423148.html

回到顶部