我正在寻找一些关于如何在mySQL中按日期分组时实现小时的日期差异的想法。例如,以下日期的正常DateDiff (小时)方法将得到49小时,但我感兴趣的是哪一天在总共49小时中所占的份额:
Date 1: 2016-06-12 12:00
Date 2: 2016-06-14 13:00结果:
从开始到完成,从现在开始,到现在,再开始,到最后,再到最后一步。
2016-06-12 12:00北京时间2016-06-13 00:00
北京时间2016-06-13 00:00-24小时
2016-06-14 00:00北京时间2016-06-14 13:00
谢谢!
发布于 2016-06-13 10:21:38
假设您有一个日程表,并且开始日期和结束日期在变量中,那么这样的逻辑应该可以做您想做的事情:
select c.date, c.date + interval 1 day,
timstampdiff(hour,
greatest(c.date, $start),
least(c.date + interval 1 day, $end)
)
from calendar c
where c.date >= date($start) and c.date < date($end) + interval 1 dayhttps://stackoverflow.com/questions/37780918
复制相似问题