Autor Zpráva
arkjnu
Profil *
Do databáze ukládám informace o tom, kdy určití lidé ukončí své studium. Sloupec je typu date. Pakliže ukládám datum, které neexistuje, tak se neuloží žádná informace, ani o tom není uživatel informován. Existuje nějaká funkce, která umožňí zjistit jestli nějaké datum existuje?

Data mám ve formátu rrrr-mm-dd např. 2012-06-31 u takového data bych potřeboval aby ho to odhalilo.

Děkuji
Sir Tom
Profil
arkjnu:
MySQL, myslím, že neumí rozlišit datum, které je reálné od nereálného. Nicméně dá se to vyřešit stejně, jako to řeší normální člověk. Z data si vezme měsíc a podle něho zjistí, jaký je možný maximální počet dní v daném měsíci. Jestliže toto číslo je menší než zadané číslo dne, pak je datum nereálné.
Jan Tvrdík
Profil
checkdate
DoubleThink
Profil *
Sir Tom:
MySQL, myslím, že neumí rozlišit datum, které je reálné od nereálného
U časových sloupců to bez problémů pozná - respektive uloží nulovou hodnotu případně vrátí NULL z časových funkcí.
Samozřejmě, pokud je někdo pitomec a ukládá čas jako VARCHAR, není mu pomoci.
Sir Tom
Profil
DoubleThink:
U časových sloupců to bez problémů pozná - respektive uloží nulovou hodnotu případně vrátí NULL z časových funkcí.
Zde (část označena jako praxe) se mluví o opaku.
DoubleThink
Profil *
Od verze 5.0.2 jsou data standardně validována.
Viz ALLOW_INVALID_DATES.

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: