postgresql razeni
Honza Pazdziora
adelton na fi.muni.cz
Středa Listopad 16 10:40:53 CET 2005
On Tue, Nov 15, 2005 at 11:08:55PM +0100, Pavel Raus wrote:
> resim problem s razenim v postgresql.
> locales mam cs_CZ, databazi v LATIN2, takze vse by melo byt v poradku. Kdyz
> setridim text, tak hacky carky jsou OK, ale cisla mam az na konci. Potreboval
> bych to obracene ( tj. cisla na zacatku a pak pismenka ), ale nikde jsem k
> tomu nic nenasel.
>
> Testovano na postgresql 8.0 a 8.1, oboji se stejnym 'uspechem'.
>
> Zatim to neresim nad 'ostrymi' daty, takze si mohu dovolit experimentovat.
>
> Za kazde nakopnuti spravnym smerem budu vdecen.
>
> show all :
> lc_collate | cs_CZ
> server_encoding | LATIN2
PostgreSQL, pokud vim, pouziva locales systemu, na kterem bezi. Pokud
udelate na prikazove radce
$ ( echo '1' ; echo 'jezek' ) | LC_COLLATE=cs_CZ sort
tak predpokladam dostanete (take)
jezek
1
Toto razeni dostavate proto, "bo tak je to v cestine spravne a tak to
ma byt". Pokud chcete razeni jine, nevyuzivajici razeni poskytovane
systemovymi locales, mate v zasade dve moznosti:
- vyrobit si jine locales;
- nebo misto pouziti standardniho order by pouzit nejakou funkci, ktera
hodi retezce s cislicemi na zacatek, at uz dynamicky, nebo nejakym
pomocnym atributem v tabulkach.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
Only self-confident people can be simple.
Další informace o konferenci Databases