2016-07-12 36 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獲取所有事件。

相關問題