Portál AbcLinuxu, 11. května 2024 05:54


Dotaz: Postgresql a triedenie / indexovanie

20.9.2004 08:52 Pato
Postgresql a triedenie / indexovanie
Přečteno: 167×
Odpovědět | Admin
Mam problem s abecednym triedenim v PostgreSQL ver. 7.4.5 potrebujem triedit abecedne stlpec typu char, sice to triedi OK, pokial sa nepuziju v texte pomlcky. viz:

select * from katalog order by kod ;

MT15-01

MT-15-02

MT-15-03

MT15-04

by malo spravne triedit ako:

MT-15-02

MT-15-03

MT15-01

MT15-04

vyzera to akoby si system triedenia pomlcky nevsimal, aj ked pouzijem indexovanie a donutim pouzit system index cez SET enable_seqscan TO 'off' je to rovnake, skutocne uz som skusal cokolvek a stale som neprisiel na to preco to tak triedi, pouzivam REDHAT 8 a locale LANG=cs_CZ.UTF-8 LC_CTYPE="cs_CZ.UTF-8" LC_NUMERIC="cs_CZ.UTF-8" LC_TIME="cs_CZ.UTF-8" LC_COLLATE="cs_CZ.UTF-8" LC_MONETARY="cs_CZ.UTF-8" LC_MESSAGES="cs_CZ.UTF-8" LC_PAPER="cs_CZ.UTF-8" LC_NAME="cs_CZ.UTF-8" LC_ADDRESS="cs_CZ.UTF-8" LC_TELEPHONE="cs_CZ.UTF-8" LC_MEASUREMENT="cs_CZ.UTF-8" LC_IDENTIFICATION="cs_CZ.UTF-8" LC_ALL=

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

Odpovědi

20.9.2004 15:05 MOJE
Rozbalit Rozbalit vše Re: Postgresql a triedenie / indexovanie
Odpovědět | | Sbalit | Link | Blokovat | Admin
A mate spravne nastavene locales pri vytvareni databaze ? Potom uz se to neda zmenit a jedina moznost je pouzivat nls_string ze stranek http://www.fi.muni.cz/~adelton/l10n/ coz umoznuje tridit podle libovolneho locale, ale zapomaluje dotazy pri vetsim poctu vysledku.
20.9.2004 15:40 Pato
Rozbalit Rozbalit vše Re: Postgresql a triedenie / indexovanie
Mam nastavene LATIN2 skusal som si vytvorit aj novu databazu z SQL_ASCII ale triedenie stale akoby ignoruje znaky mimo 0-9,A-Z,a-z

Dik P.
26.9.2004 10:18 jm
Rozbalit Rozbalit vše Re: Postgresql a triedenie / indexovanie
Jake locale bylo pouzito pri initdb?
26.9.2004 07:14 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: Postgresql a triedenie / indexovanie
Odpovědět | | Sbalit | Link | Blokovat | Admin
zdravim,
malej trik, mozna nepomuze, mozna ano.
select * from neco order by to_ascii(sloupec);
misto to ascii muzete pouzit jinou funkci.
podotykam, ze toto je asi dost velka dobytcarna. urcite jsou cistejsi reseni.
jinak databases@linux.cz OR cz.comp.misc.databases
netestovano - postgress tu sice mam, ale nechce se mi to ted konvertovat databasi.
bye gf
27.4.2006 13:07 djbart | skóre: 9 | Bartošovice
Rozbalit Rozbalit vše Re: Postgresql a triedenie / indexovanie
Odpovědět | | Sbalit | Link | Blokovat | Admin
DD, mám podobný problém jako vy, jen v databázi nemám pomlčky, ale čárky. Takže mi to třídí jména asi takto:
Novák, David
Novák, Libor
Nováková, Eliška
Nováková, Zdenka
Novák, Petr
Novák, Václav
Locales jsou nastaveny správně (cs_CZ.UTF-8) a vše ostatní se třídí podle českých pravidel. Podařilo se vám probém nějak vyřešit? A pokud ano, pamatujete si ještě čím to bylo?

PostgreSQL 7.4.7 Debian 3.1

DJ
Nejmocnější je ten, kdo přemůže sám sebe. jaluvka.info

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.