Portál AbcLinuxu, 14. května 2025 05:58
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:
č 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).
čá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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.