2012-10-22 12 views
5

Mam tabelę o nazwie "actions" z kolumną DATETIME o nazwie "occur". Próbuję zwrócić rekordy na dzisiaj, wykonując następującePowrót MySQL Dzisiejsze rekordy przy użyciu DATE z pola DATETIME

SELECT * FROM `actions` WHERE `occurred` = DATE(NOW()); 

Ale otrzymuję pusty zestaw wyników. Jeśli wyjmę klauzulę WHERE, widzę wszystkie 295 wierszy w tabeli i jest ich co najmniej 30 wierszy od dzisiaj. Później będę pisać kolejne zapytanie, aby zwrócić wszystkie rekordy między dzisiejszą datą a X ilością dni w przeszłości, ale zanim będę mógł tam dotrzeć, muszę wiedzieć, dlaczego to zapytanie zwraca pusty zestaw wyników.

Z góry dziękuję.

Odpowiedz

4

Jeśli istnieje w żadnym przyszłym terminie w occurred, można po prostu użyć poniżej:

SELECT * FROM `actions` WHERE `occurred` > DATE_SUB(CURDATE(), INTERVAL 1 DAY); 
+0

to działa świetnie. Nie będzie żadnych przyszłych danych. Będzie to ściśle dla porównania TERAZ z historycznymi wpisami. Dziękuję za szybką odpowiedź! – rws907

Powiązane problemy