Portál AbcLinuxu, 14. května 2025 05:58

Dotaz: PgSQL a order by

11.2.2011 17:54 camel1cz | skóre: 25
PgSQL a order by
Přečteno: 918×
Odpovědět | Admin

Zdravím,

mám problém s řazením v PgSQL. Od v. 8.4 umí databáze per DB collations, což je skvělé... ale i když nastavím českou collation, řazení není jak bych čekal - řadí se bez ohledu na háčky a čárky.

Má toto nějaké řešení? Jinou collation? Jak sem pochopil Pg dědí tyto věci z OS.

Moc díky za nasměrování!


OS: Debian squeeze

Pg: 8.4.5 (debian way)

Db sem vytvářel:

create database DBNAME with owner XXX encoding 'utf-8' LC_COLLATE='cs_CZ.UTF-8' LC_CTYPE='cs_CZ.utf8' TEMPLATE=template0;

V systému:

# locale -a
C
POSIX
cs_CZ.utf8

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2011 20:56 Kubrt
Rozbalit Rozbalit vše Re: PgSQL a order by
Odpovědět | | Sbalit | Link | Blokovat | Admin
Otázkou je, jak to myslíte, správné české řazení není většinou totožné s tím, jak si většina lidí myslí, že by se to řadit mělo :)
č má být sice za c, ale á je to samé co a - obvykle a rozhodné další písmeno. viz zde
11.2.2011 22:17 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: PgSQL a order by
Aaaaaaha, takže chyba mezi klávesnicí a židlí :-D

Stydím se a jedním dechem moc děkuju! :-)
11.2.2011 22:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: PgSQL a order by
č má být sice za c, ale á je to samé co a

Ne, to není. Jen se a/á rozlišuje až ve druhém průchodu, zatímco c/č už v prvním (pokud do toho nezatáhneme ještě malá a velká písmena, jinak jsou ty průchody čtyři).

11.2.2011 23:25 Kubrt
Rozbalit Rozbalit vše Re: PgSQL a order by
Toš jinak, pokud bude v prvním průchodu čáp a čas, tak čas bude jako druhý bo rozhodlo 's/p' v prvním průchodu, pokud ovšem bude čáp a čap tak bude první čap, bo o pořadí rozhoduje jen diakritika.
Jde o to, že ke druhému průchodu v případě čáp a čas nedojde, bo je to jednoznačné již při prvním.
13.2.2011 22:54 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: PgSQL a order by
To ale není nijak ve sporu s tím, co jsem psal. Váš příklad jen demonstruje něco trochu jiného, rozdíl se projeví hlavně v tom, že 'xácy' < 'xačy'. Podstatné ale je, že diakritika nad samohláskami se neignoruje, jak jste tvrdil, protože druhý průchod pořád rozhodne, že 'xay' < 'xáy'.

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.