Autor | Zpráva | ||
---|---|---|---|
Falcon Profil * |
#1 · Zasláno: 6. 4. 2008, 18:13:30
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 |
#2 · Zasláno: 6. 4. 2008, 18:21:48
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 |
#3 · Zasláno: 6. 4. 2008, 19:07:35
Falcon
dej sloupci DATE_FORMAT nebo TIMESTAMP |
||
TSD Profil * |
#4 · Zasláno: 7. 4. 2008, 14:05:44
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 * |
#5 · Zasláno: 7. 4. 2008, 14:49:32
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. |
||
Časová prodleva: 16 let
|
0