mysql datetime 差异,MySql在两个时间戳之间的差异?

How can I get the difference between two timestamps in days? Should I be using a datetime column for this?

I switched my column to datetime. Simple subtraction doesn't seem to give me a result in days.

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)

I don't think diff is in seconds, because when I divide diff by number of seconds in a day ( 86,400 ), I don't get a sensical answer:

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)

解决方案

If you're happy to ignore the time portion in the columns, DATEDIFF() will give you the difference you're looking for in days.

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

+------+

| days |

+------+

| 17 |

+------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值