2016-02-14 77 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)