Autor Zpráva
Marek90
Profil *
Zdravím, v databázi mám sloupeček ve formátu DATE (YYYY-MM-DD) a potřeboval bych z něj vypsat den do poměnné $day, měsíc do proměnné $month a rok do $year.

Děkuji moc za rady
Taps
Profil
mohlo by fungovat nize uvedeno
select YEAR(datum) as rok, MONTH(datum) as mesic, DAY(datum) as den from tabulka
Tori
Profil
Taps:
Napadlo mne použít
// select 'datum' from .....
list($rok, $mesic, $den) = explode('-', $row['datum']);
- má to nějakou nevýhodu proti vašemu postupu (např.že explode+list dohromady jsou pomalejší než přetypování v sql), anebo je to rovnocenné?
Kcko
Profil
Tori:
Nemusí to být pomalejší, měl jsem aplikaci, do které denně přibývaly tisíce záznamů denně a takovéto operace s datem či se string funkcemi jsem řešil v aplikační vrstvě. Obecně mysql neumí používat indexy pokud se týká vlastních funkcí, což me dost štve. Takže už dávno nepoužívám věci typu WHERE dt = CURDATE() a hezky si to dnešní datum zjistím v PHP.
Tori
Profil
Kcko:
Aha, díky moc. Zrovna totiž řeším něco podobného, že potřebuji u pár dotazů k vracenému datu přičíst interval, a nevěděla jsem, jestli to je lepší přes sql funkci DATE_ADD anebo v PHP.

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: