Portál AbcLinuxu, 10. května 2025 08:10

Dotaz: mysql usporiadavanie alfanumericky

12.6.2020 09:20 iko | skóre: 7
mysql usporiadavanie alfanumericky
Přečteno: 1206×
Odpovědět | Admin
zdravim

je mozne donutit mysql, aby spravne usporiadaval, ak su v texte cisla? teda napr: abeceda1x3 abeceda12x3 def61 abeceda2x3 def7

usporiadal takto: abeceda1x3 abeceda2x3 abeceda12x3 def7 def61

Texty mozu mat rozne dlzky, cisla v textoch na roznych miestach.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.6.2020 11:12 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: mysql usporiadavanie alfanumericky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, stačí ta čísla vytáhnout do samostatného sloupce.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
12.6.2020 11:25 iko | skóre: 7
Rozbalit Rozbalit vše Re: mysql usporiadavanie alfanumericky
Tie priklady boli len ako priklady, inak tie texty cisla mozu byt aj viac x hociako rozhadzane. Potrebujem vseobecnu metodu.

v php je natsort (natural sort), ale ten je zas naprd, lebo neberie do uvahy nase locale (mekcenove dava na koniec)

asi to je jednoducho neriesitelne, jedine sa napisat vlastny sort
12.6.2020 11:26 herbi
Rozbalit Rozbalit vše Re: mysql usporiadavanie alfanumericky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste k "order by" přidat "collate", ale mělo by fungovat i bez něj.
select *
from (select 'abeceda1x3' text union select 'abeceda12x3' union select 'def61' union select 'abeceda2x3'union select 'def7') t
order by t.text collate latin1_bin
Případně jiné porovnání, viz:
SHOW COLLATION LIKE 'latin1%';
SHOW COLLATION LIKE 'utf8\_%';
SHOW COLLATION;
12.6.2020 11:56 iko | skóre: 7
Rozbalit Rozbalit vše Re: mysql usporiadavanie alfanumericky
to funguje na mekcene/dlzne, ale ked je tam cislo, tak to neporovnava cele cislo ale jednotlive cislovky (12 da pred 2)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.