Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#5

Re: Trim-Funktion bei Select-Abfrage?

  Alt 21. Okt 2008, 13:55
Hallo,

ausgehend von Deiner Fragestellung vermute ich mal:SELECT Trim(a) FROM b WHERE Trim(a) = 'x' Du scheinst ja sowohl bei der Wherebedingung ohne führendes Blank suchen zu wollen und die Ergebnismenge auch ohne führendes Blank zu erwarten.
In Bezug auf Ergebnismenge wäre natürlich das SELECT TRIM(a) FROM b WHERE a='x' richtig, berücksichtigt wird das führende Blank aber nicht bei der Auswahl der Ergebnismenge. In diesem Beispiel ist das Trim überflüssig, da ja die Wherebedingung nur Werte ohne führendes Blank liefert. Bei SELECT TRIM(a) FROM b WHERE a=' x' wäre das Trim aber angebracht, da hier ja Werte mit führendem Blank geliefert werden. Mit SELECT Trim(a) FROM b WHERE Trim(a) = 'x' schlägst Du dann beide Fliegen mit einer Klappe, aber unter Umgehung des Index, es sei denn, es gäbe eine Indexdefinition a la:create index OhneBlankA on b (Trim(a)) Falls sowas in der Art mit Postgres gehen sollte.

Inwieweit sind Werte mit führendem Blank in der Datenbank denn sinnvoll?
Wenn sie nicht sinnvoll sind, dann vor dem Speichern führende Blanks entfernen, ggfls. auch per Datenbanktrigger.
  Mit Zitat antworten Zitat