Autor | Zpráva | ||
---|---|---|---|
capricorn Profil |
#1 · Zasláno: 4. 5. 2009, 18:28:10
Zdravim,
mam dotaz "SELECT name FROM province ORDER BY name COLLATE 'utf8_czech_ci' ASC" a nechapu, proc Praha 10 je za Praha 1 a neni za Praha 9. Proc tomu tak je a jak z toho ven? |
||
bohyn Profil |
#2 · Zasláno: 4. 5. 2009, 19:14:05
capricorn
„Proc tomu tak je...“ Porovnava po jednotlivych znacich. 1 < 9 „...jak z toho ven?“ Prirozene trideni (natural sort). V MySQL implementovano neni, takze zbyva udelat si vlastni trideni treba v PHP. V PostgreeSQL jsem na to nasel uzivatelskou fci. Jine databaze to mohou mit implementovane - nevim. |
||
Kajman_ Profil * |
#3 · Zasláno: 4. 5. 2009, 19:41:20
Tak si udělejte dva sloupce... name jako string a cislo jako integer.
Pak stačí order by name, cislo. |
||
capricorn Profil |
#4 · Zasláno: 4. 5. 2009, 20:03:15
bohyn
Skoda, ze to neni implementovano v MySQL. Hodinu jsem si s tim hral a ono se stacilo podivat do manualu php na funkci natsort(). Kajman_ To mne take napadalo, ale zda se mne to zbytecne na 10 radku zakladat dalsi sloupec a potom to spojovat, kdyz muzu pouzit natsort(). |
||
Časová prodleva: 15 let
|
0