Autor Zpráva
Falcon
Profil *
Když mám v databázi uložený záznamy a mám tam sloupec cas a v něm jsou uložený ve formátu : den.mesic.rok dá se sestavit mysql dotaz tak, aby se to řadilo podle sloupce cas od nejnovějšího po nejstarší ?

sloupec cas je typ "text" a mám to už plný záznamů, dá se s tim něco dělat ? :)
Jan Tvrdík
Profil
Falcon
Doporučoval bych celou prostě převést na korektnější formát. Buď jako mysql date, nebo alespoň jako integrer (tak to dělám já :)
Taps
Profil
Falcon
dej sloupci DATE_FORMAT nebo TIMESTAMP
TSD
Profil *
Ukládat čas jako den měsíc rok je špatně, tvůj problém je toho důkazem. Já ukládám čas v unixtime formátu, což je něco, co se vejde do BIGINT(11) a předpokládám, že se to tak dělá běžně.

Nicméně seřadit jde.
Zkus ORDER BY (400*rok + 40*mesic + den)

čísla nejsou důležitá, jde jen o to, aby ty konstanty byly spolehlivě větší než je počet dnů v roce, resp. měsíci.
TSD
Profil *
Kecám, omlouvám se, četl jsem moc rychle.

pokud je datum ve formátu "01.02.2004", tak by to ještě šlo tak jak jsem psal, jen by 'rok', 'mesic' a 'den' bylo nahrazeno částí textu vytaženou ze sloupce 'cas' a převedenou na číslo.

Jestli je to ve tvaru "1.2.2004", tak už je to složitější a k tomu, jestli lze v mysql tento text rozsekat na čísla podle teček, už by musel poradit někdo zkušenější nebo google.

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:

0