Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Sort Order von Leerzeichen



Wieder ein mal das Thema Leerzeichen und Sortierung:

Im SQL_ASCII - Zeichensatz und der C Locale werden die Daten
'a', 'a1' und 'a 1' folgendermaßen sortiert:
'a' --> 'a 1' --> 'a1', also das Leerzeichen wie ein
Buchstabe, der vor den Ziffern sortiert wird.

Wegen der Umlaute und dem Euro-Zeichen wurde die Datenbank
auf 'LATIN9' Encoding und der 'at_DE(at)euro' Locale umgestellt.

Jetzt gibt es eher unerwartete Sortierergebnisse:

CREATE TABLE t_test
(
   "ID" serial,
   text varchar(200),
   CONSTRAINT pkey PRIMARY KEY ("ID")
) WITHOUT OIDS;


INSERT INTO t_test (text) VALUES ('A');
INSERT INTO t_test (text) VALUES ('A10');
INSERT INTO t_test (text) VALUES ('A 1');
INSERT INTO t_test (text) VALUES ('A1');
INSERT INTO t_test (text) VALUES ('A 20');
INSERT INTO t_test (text) VALUES ('A 2');
INSERT INTO t_test (text) VALUES ('A2');
INSERT INTO t_test (text) VALUES ('a');
INSERT INTO t_test (text) VALUES ('a1');
INSERT INTO t_test (text) VALUES ('a 1');
INSERT INTO t_test (text) VALUES ('ä');
INSERT INTO t_test (text) VALUES ('ä1');
INSERT INTO t_test (text) VALUES ('ä 1');
INSERT INTO t_test (text) VALUES ('b');
INSERT INTO t_test (text) VALUES ('b1');
INSERT INTO t_test (text) VALUES ('b 1');
INSERT INTO t_test (text) VALUES ('€');
INSERT INTO t_test (text) VALUES ('€1');
INSERT INTO t_test (text) VALUES ('€ 1');

SELECT * FROM t_test ORDER BY text;
 ID | text
----+------
 17 | €
 18 | €1
 19 | € 1
  8 | a
  1 | A
 11 | ä
  9 | a1
 10 | a 1
  4 | A1
  3 | A 1
 12 | ä1
 13 | ä 1
  2 | A10
  7 | A2
  6 | A 2
  5 | A 20
 14 | b
 15 | b1
 16 | b 1
(19 Zeilen)

Das Leerzeichen scheint nicht mehr ein eigener Buchstabe zu sein,
sondern nur noch den folgenen Buchstaben zu 'beschweren'.

Gibt es eine einfache Möglichkeit, dass die Leerzeichen wieder
vor den Zahlen und Buchstaben sortiert werden?
In den Client-Anwendungen wird in vielen Stellen davon der
speziellen Reihenfolge ausgeganen, und die Workarounds sind
bis jetzt sehr umständlich.

Vielen Dank

Egon



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group