Autor Zpráva
Enko
Profil
Ahoj,
jde nějak optimálně na úrovni SQL řešit případ, když v následujícím dotazu:
SELECT * FROM tabulka WHERE smazano=0 AND od >='2017-01-25' AND do <='2017-01-26' ORDER BY id DESC
může nastat situace, kde ve sloupci "do" je hodnota "0000-00-00" a to tak, aby dotaz správně vracel výsledky, jenž jsou skutečně v tomto rozsahu? Tento dotaz mi vrátí výsledky, jenž mají ve sloupci "od" hodnotu "2017-02-01" a ve sloupci "do" hodnotu "0000-00-00". Sloupce "od" a "do" jsou typu "date".
Děkuji
Kajman
Profil
V dotaze si přehoďte od a do.

Chcete ty, které začínají před koncem intervalu
od <= '2017-01-26'
a zároveň končí po začátku intervalu
do >= '2017-01-25'

Pokud '0000-00-00' značí, že do není omezené, tak
(do >= '2017-01-25' or do = '0000-00-00')
Enko
Profil
Kajman:
Ano, děkuji. Takto to je vlastně logické :)

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: