Autor Zpráva
Fury
Profil *
Zdravím,

mám následující tabulku cenik a chtěl bych, aby se mi vždy zobrazila částka, která je vázaná k dnešnímu datu.

id    akce_id    datum_od    datum_do    cena
2    4    2016-02-17    2016-02-29    100
3    4    2016-03-01    2016-03-31    145
4    4    2016-04-01    2016-04-18    190

Zoušel jsem toto, ale to bohužel nefunguje správně:
select *
from cenik
where (NOW() > datum_od and NOW()<datum_do)

Mohu vás poprosit o radu?

Děkuji
anonymníí
Profil *
Fury:
Větší nebo rovno...

... WHERE (NOW() >= datum_od AND NOW() <= datum_do)
juriad
Profil
A nechceš používat funkci NOW(), ale CURDATE(), protože DATE při porovnání s DATETIME se rozšíří o nulovou časovou složku.
Fury
Profil *
anonymníí:
Pokud dám toto, tak mi to vrátí prázdný výsledek. Každopádně díky za ty rovná se.

juriad:
Díky, takže stačí:

 WHERE (CURDATE() >= datum_od AND CURDATE() <= datum_do)

Díky moc
anonymníí
Profil *
Fury:
Jasně, protože 2016-02-29 se nerovna 2016-02-29 00:00:00. Moje chyba. Osobně používám skoro všude datetime, proto mi nedošlo, že pouhé rovnítko nezafunguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: