如何获取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');
返回0select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00');
返回1select timestampdiff(DAY, '2016-04-13 11:00:00', now());
返回自2016-04-13 11:00:00至今已过去24小时的全天数。
希望它会对某人有所帮助,因为起初并不是那么明显,为什么dateiff会返回看似意外或错误的值。
富国沪深
TA贡献1790条经验 获得超9个赞
添加回答
举报
0/150
提交
取消