2016-07-12 35 views
1

如何在24小时的时间范围内查找带有日期字段的记录,时间始终始于上午6点到第二天5:59。MYSQL:如何在24小时的时间范围内找到日期字段的记录始终从第二天上午6点到上午6点

喜欢的东西:

select * from events 
where timestamp >= UNIX_TIMESTAMP(06:00:00 AM) 
and timestamp < UNIX_TIMESTAMP(05:59:59 AM) 

这可能吗?

我有3个事件,从开始: 早上6:00至下午2:00, 下午2时至晚上10 晚上10点到早上6点

我需要运行的时钟在24个小时的时间范围内的报告,在早上6点开始每天到明年上午6点。我喜欢的数据在早上6点重置为下一个周期

感谢

+0

您能否根据该示例输入显示一些示例输入和您的预期输出? – 1000111

+0

'Within'对于过去,现在和将来有点模糊 – Strawberry

+0

我需要在24小时的时间范围内运行一个报告,时钟每天早上6点开始,直到下午6点。我喜欢在下午6点重置数据。 – Cris

回答

1
select * 
    from events 
where timestamp between curdate() + interval 6 hour and curdate() + interval 1 day + interval 6 hour; 

这应该从上午6时当前日期的事件,为第二天早上6点的事件。

+0

我试过你的例子,结果为零。这是我使用错误的时间戳吗?如果我运行这个例子:“...其中add_timestamp> = unix_timestamp(now() - interval 24小时))我得到了结果,我缺少什么?感谢您的帮助。 – Cris

0
select * 
from events where 
`timestamp` between date_sub(concat(curdate()," 06:00:00"), INTERVAL 1 DAY) and concat(curdate()," 05:59:59") 

该查询将从昨天上午6点到今天5:59获取所有事件。

相关问题