Autor Zpráva
capricorn
Profil
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
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 *
Tak si udělejte dva sloupce... name jako string a cislo jako integer.

Pak stačí order by name, cislo.
capricorn
Profil
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().

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