UPDATE:
select date(now() - interval 9 hour) + interval 9 hour;
------------------------
Ú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!
- 1201 megtekintés
Hozzászólások
SELECT IF(HOUR(CURTIME() > 9 ), 1, 2)
Idáig eljutottam :)
- A hozzászóláshoz be kell jelentkezni
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... :-(
- A hozzászóláshoz be kell jelentkezni
select date(now() - interval 9 hour) + interval 9 hour;
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Ez tetszik - biztos voltam benne, hogy van szép megoldás :)
- A hozzászóláshoz be kell jelentkezni
Én is, ezért nem akartam elkezdeni gányolni PHP-val:)
- A hozzászóláshoz be kell jelentkezni