为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取mysql上两个日期之间的差异天数?

如何获取mysql上两个日期之间的差异天数?

RISEBY 2019-08-13 10:44:09
如何获取mysql上两个日期之间的差异天数?我需要在MySQL的几个日期内获得包含的天数。例如:入住日期是 12-04-2010离开日期 15-04-2010日差为3
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

请注意,如果您想在2个日期之间计算24小时,则datediff可能会为您返回错误的值。

正如文件所述:

在计算中仅使用值的日期部分。

结果

select datediff('2016-04-14 11:59:00', '2016-04-13 12:00:00')

返回1而不是预期的0。

解决方案正在使用select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00'); (注意与datediff相比的参数顺序)。

一些例子:

  • select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00'); 返回0

  • select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00'); 返回1

  • select timestampdiff(DAY, '2016-04-13 11:00:00', now()); 返回自2016-04-13 11:00:00至今已过去24小时的全天数

希望它会对某人有所帮助,因为起初并不是那么明显,为什么dateiff会返回看似意外或错误的值。


查看完整回答
反对 回复 2019-08-13
?
富国沪深

TA贡献1790条经验 获得超9个赞

使用该DATEDIFF()功能。

文档示例:

SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
    -> 1


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 892 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信