0

我有一个在某些情况下对我不起作用的查询,我认为这是因为在某些情况下时间会超过一天的结束时间,因此结束时间小于开始时间。这是查询。

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 脚本的一部分,我确信有更好的方法,但我很难过。

4

1 回答 1

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))
于 2013-02-13T02:01:48.060 回答