2013-02-13 48 views
0

我有一個查詢,在某些情況下不適用於我,我認爲這是因爲在某些情況下,時間回到過去的一天結束時間是小於開始時間。這是查詢。MySQL之間的比較過去一天結束的時間

SELECT reminder_cfg.id, default_time, day_prior, timezone 
FROM reminder_cfg, uc_users 
WHERE reminder_cfg.id = 5 
AND reminder_cfg.id = uc_users.id 
AND default_time BETWEEN TIME(NOW() + INTERVAL 5 HOUR) AND TIME(NOW() + INTERVAL 10 HOUR) 

這真的踢了我的,但幾天了。

這是一個Perl腳本的一部分,我確信有更好的方法可以做,但我很難過。

+0

'default_time'的數據類型是什麼?它是'TIME'還是'DATETIME'? – 2013-02-13 01:55:29

回答

0

使用DATE_ADD添加兩個日期。

SELECT reminder_cfg.id, default_time, day_prior, timezone 
FROM reminder_cfg, uc_users 
WHERE reminder_cfg.id = 5 
AND reminder_cfg.id = uc_users.id 
AND default_time BETWEEN TIME(DATE_ADD(NOW(), INTERVAL 5 HOUR)) AND TIME(DATE_ADD(NOW() + INTERVAL 10 HOUR))