Re: sort mit order by auf Basis de_DE.utf8

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Reinhard Asmus *EXTERN*" <reinhard(dot)asmus(at)spdfraktion(dot)de>, <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: sort mit order by auf Basis de_DE.utf8
Date: 2012-03-22 13:58:01
Message-ID: D960CB61B694CF459DCFB4B0128514C207A2B805@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Reinhard Asmus schrieb:
> ich habe eine DB eingerichtet mit initdb --locale='de_DE.utf8' (Version
> 8.3 unter Linux).
>
> Bei der Einrichtung wurde gemeldet:
>
> The database cluster will be initialized with locale de_DE.utf8.
> The default database encoding has accordingly been set to UTF8.
> The default text search configuration will be set to "german".
>
> Wenn ich einen sort auf eine kleine Beispieltabelle mache, bekomme ich
> folgende Anwort:
>
> select * from sgvs.test order by bezeichnung;
>
> id | bezeichnung | schlagworte
> ----+-------------+-------------
> 11 | Anton |
> 8 | Ätna |
> 10 | Erna |
> 2 | Kammer |
> 6 | Kanten |
> 1 | Käse |
> 4 | Köbern |
> 3 | Kümmern |
> 5 | Kuno |
> 9 | Möbel |
> 7 | Zuber |
>
> Dabei wundere ich mich z.B. über die Reihenfolge von Anton/Ätna und
> Kanten/Käse.
>
> Von Oracle kenne ich es anders herum. Warum ist das so?
>
> Wie bekommt man in PostgreSQL eine Sortierung nach Telefonbuch hin (Ae,
> Oe, ...)?

Also bei mir schaut das in Oracle auch so aus:

SQL> ALTER SESSION SET nls_sort='GERMAN';

SQL> SELECT val FROM tab ORDER BY val;

VAL
----------------------------------------
Anton
Ätna
Erna
Kammer
Kanten
Käse
Köbern
Kümmern
Kuno
Möbel
Zuber

11 rows selected.

PostgreSQL verwendet die Collations, die das Betriebssystem zur Verfügung stellt.
Wenn es also eine solche für das Datenbankencoding gibt, kann man sagen:

SELECT val FROM tab ORDER BY val COLLATE "telefonbuch";

Linux hat sowas z.B. nicht, also geht es in PostgreSQL auf Linux auch nicht.

Liebe Grüße,
Laurenz Albe

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Albe Laurenz 2012-03-22 16:03:50 Re: sort mit order by auf Basis de_DE.utf8
Previous Message Susanne Ebrecht 2012-03-22 12:57:17 Re: sort mit order by auf Basis de_DE.utf8