2016-02-14 47 views
0

我的脚本显示了未来14天内的事件:SQL:显示“运行”事件

SELECT 
* 
FROM 
events 
WHERE 
eventdate 
BETWEEN CURDATE() AND DATE_ADD(NOW(), INTERVAL 14 DAY) 

这工作得很好,但迄今为止在午夜所有的“运行”(夜)事件不再显示。

所以查询应该输出从之前一天的活动,直到凌晨5点

这是我的想法,但它不工作:

SELECT 
* 
FROM 
events 
WHERE 
eventdate 
BETWEEN DATE_SUB(CURDATE(), INTERVAL 5 HOUR) 
AND 
DATE_ADD(NOW(), INTERVAL 14 DAY) 

是因为“EVENTDATE”是一个日期 - 领域?

谢谢!

回答

0

这听起来像你想要做比较之前,减去5时间:

WHERE date_sub(eventdate, interval 5 hour) BETWEEN CURDATE() AND DATE_ADD(NOW(), INTERVAL 14 DAY) 

或者,你可以加5个小时的另一面:

where eventdate between now() and datea_add(now(), interval 14*24 + 5 hour) 
0

这应该做的工作或不!?

WHERE 
eventdate 
BETWEEN DATE(DATE_SUB(NOW(), INTERVAL 5 HOUR)) 
AND 
DATE_ADD(NOW(), INTERVAL 14 DAY)