Re: Leerzeichen in LIKE Bedingung

From: Michael Renner <michael(dot)renner(at)amd(dot)co(dot)at>
To: Guenther Boelter <gboelter(at)gmail(dot)com>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Leerzeichen in LIKE Bedingung
Date: 2013-02-09 10:40:09
Message-ID: 063ECF09-A2FA-423D-BCE1-2A1750CECF56@amd.co.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo Günther,

btrim sollt hinhauen:

pganalyze-test=# \d foo
Table "public.foo"
Column | Type | Modifiers
--------+---------------+-----------
bar | character(40) |

pganalyze-test=# select * from foo;
bar
------------------------------------------
Auftrag1
(1 row)

pganalyze-test=# select * from foo where bar like 'Auftrag1';
bar
-----
(0 rows)

pganalyze-test=# select btrim(bar) from foo where btrim(bar) like 'Auftrag1';
btrim
----------
Auftrag1
(1 row)

pganalyze-test=#

Aber ich glaub du willst eigentlich den Datentyp auf text umstellen und gut is.

lg,
Michael

On Feb 9, 2013, at 11:27 , Guenther Boelter <gboelter(at)gmail(dot)com> wrote:

> Moin!
>
> 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?
>
> Gruss
>
> Guenther
>
> --
> DavaoSOFT, the home of ERPel
> ERPel, das deutsche Warenwirtschaftssystem fuer LINUX
> http://www.davaosoft.com
>
>
>
> --
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Guenther Boelter 2013-02-09 10:52:11 Re: Leerzeichen in LIKE Bedingung
Previous Message Guenther Boelter 2013-02-09 10:27:55 Leerzeichen in LIKE Bedingung