Re: Leerzeichen in LIKE Bedingung

Albe Laurenz <[email protected]>
Newsgroups gmane.comp.db.postgresql.german
Message-ID <A737B7A37273E048B164557ADEF4A58B057B1D48@ntex2010a.host.magwien.gv.at>
Guenther Boelter schrieb:
> Nachdem ich nun mehr oder weniger erfolgreich von MySQL zu PostgreSQL
> gewechselt bin, habe ich nun das erste Problem, welches mir leichte
> Kopfzerbrechen bereitet.
> 
> Ich habe in meiner Datenbank bzw. Tabelle ein Feld vom Typ
> character(40), also mit 40 Zeichen Laenge. In diesem Feld stehen
> Begriffe wie
> 
> 'Auftraege01'
> 'Auftraege02'
> 'Auftraege02' etc. ..
> 
> Wenn ich jetzt eine Abfrage in der Art von
> 
> SELECT name FROM formulare WHERE gruppe LIKE 'Auftraege01' ORDER BY name
> ASC;
> 
> starte, dann werden keine passenden Datensaetze gefunden. Wenn ich aber
> die LIKE-Bedingung mit Leerzeichen auf eine Gesamtlaenge von 40 Zeichen
> auffuelle, wie hier zum Beispiel
> 
> SELECT name FROM formulare WHERE gruppe LIKE
> 'Auftraege01                             ' ORDER BY name ASC;
> 
> dann bekomme ich das gewuenschte Ergebnis.
> 
> Da dies sicherlich nicht Sinn der Sache sein kann, frage ich mich, wo
> ich da was falsch verstanden habe. Ein 'Auftraege01%' hilft auch nicht,
> weil dann auch 'Auftraege011' mit einbezogen werden wuerde, was nicht
> sein soll. PostgreSQL schein BTRIM und RTRIM zu kennen, aber auch das
> bringt mir kein anderes Ergebnis.
> 
> Ich vermute mal, die Loesung liegt nicht unbedingt in weiter Ferne, aber
> im Moment komme ich nicht drauf.
> 
> Kann mir von Euch jemand helfen?

Also ich würde in diesem Fall nicht LIKE, sondern "=" verwenden.

Und wenn es LIKE sein muß, würde ein Cast wahrscheinlich am billigsten
sein:

SELECT name FROM formulare
WHERE gruppe::text LIKE 'Auftraege01' ORDER BY name ASC;

Liebe Grüße,
Laurenz Albe

-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.