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 archives
  Advanced Search

RE: [pgsql-de-allgemein] Re: [pgsql-de-allgemein ] Problem mit der Sortierung von ß


  • From: "Albe Laurenz" <all(at)adv(dot)magwien(dot)gv(dot)at>
  • To: "Susanne Ebrecht *EXTERN*" <miracee(at)miracee(dot)de>, <pgsql-de-allgemein(at)postgresql(dot)org>
  • Subject: RE: [pgsql-de-allgemein] Re: [pgsql-de-allgemein ] Problem mit der Sortierung von ß
  • Date: Fri, 27 Apr 2007 13:21:59 +0200
  • Message-id: <AFCCBB403D7E7A4581E48F20AF3E5DB2027364A5@EXADV1.host.magwien.gv.at> <text/plain>

Susanne Ebrecht hat geschrieben:
> Das Wort: außen, als Text in einer Datenbank (Spalte hat datentyp text).
>
> datenbank=# select spalte from datenbank where upper(spalte) like 'AUS%';
> Ergebnis: (0 Zeilen)
>
> Eigentlich erwarte ich da doch, dass er mir bei 'aus%' auch außen 
> anzeigt.
>
> Ist das ein Bug oder ein Feature? 

Wie gesagt, weder noch. Es ist halt so.

Vielleicht hilft in einigen Fällen ein Index und eine Funktion,
wie in diesem Beispiel:

test=> CREATE TABLE local (id serial PRIMARY KEY, val varchar(100));
CREATE TABLE
test=> INSERT INTO local (val) VALUES ('außen'), ('Ausschank'), ('Badehose');
INSERT 0 3
test=> CREATE FUNCTION local_f(text) RETURNS text LANGUAGE SQL IMMUTABLE
test-> AS $$SELECT lower(replace($1, 'ß', 'ss'))$$;
CREATE FUNCTION
test=> CREATE INDEX local_i ON LOCAL ((local_f(val)));
CREATE INDEX
test=> SELECT id, val FROM local WHERE local_f(val) LIKE 'aus%';
 id |    val    
----+-----------
  1 | außen
  2 | Ausschank
(2 rows)

Läßt sich sicher erweitern!

Liebe Grüße,
Laurenz Albe



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group