[Megoldva] Adott időpontig volt-e rekord - MySQL lekérdezés

UPDATE:

select date(now() - interval 9 hour) + interval 9 hour;

komment

------------------------

Újabb problémába futottam bele, hiába túrom a netet, nem igazán jutottam előrébb.

Le kéne kérdeznem, hogy a legközelebbi reggel 9-ig volt-e rekord. Tehát most ma reggel 9-ig, de reggel 7-kor még a tegnap reggel 9 az irányadó.

Nem tudom, ez megvalósítható-e szépen egy lekérdezéssel, vagy bűvészkedni kell?

Ami necces, hogy reggel 8:59-kor 23:59 az intervallum, amit vizsgálni kéne, 9:01-kor meg 1-perc. Ha nem megoldható szépen, akkor nekiállok PHP-val bűvészkedni, de jobban örülnék, ha SQL-lel is megoldható lenne.

Köszi előre is!

Hozzászólások

SELECT IF(HOUR(CURTIME() > 9 ), 1, 2)

Idáig eljutottam :)

Oracle esetén egyszerű lenne: sysdate<trunc(sysdate)+9/24 esetén a trunc(sysdate-1)+9/24 -nél frissebbeket, egyébként meg a trunc(sysdate)+9/24 -nél frissebbeket kell megnézni - A májeskúel ezt nem nagyon eszi... :-(

select date(now() - interval 9 hour) + interval 9 hour;

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Működik, köszönöm!

Ha jól értem, akkor azt csinálja, hogy létrehoz egy dátumot a mosthoz képest 9 órával korábban, ami, ha 9 óránál később van, akkor a mai napot jelenti (2011-09-28 00:00:00), ha korábban, akkor a tegnapot (2011-09-27 00:00:00) és ehhez ad hozzá 9 órát?

Jól értem?:) És ha igen, akkor a time rész miért 00:00:00?

Szerk: Megválaszolom magamnak: mert a date csak év-hónap-napot ad vissza, de mivel hozzáadtunk 9 órát, ezért beleveszi a time-ot is.