TRIM-Funktion in einer Update-Anweisung

stst

Grünschnabel
Hallo liebe SQL-Götter,

ich habe folgendes Problem:
Ich habe eine Tabelle (in Oracle 8.i) in der diverse Text-Strings stehen.
Die Texte sind unterschiedlich lang und enden teilweise mit einem Punkt oder einem Leerzeichen (beides ist auch möglich - also erst Punkt, dann Leerzeichen).
Nun wollte ich die Leerzeichen und die letzten Punkte aus den Zeilen entfernen.
Dafür habe ich die Funktion TRIM benutzt. Da ich es jedoch nicht geschafft habe, Leerzeichen und Punkt in einem Rutsch weg zu bekommen, dachte ich mir ich lösche erst die Leerzeichen und im nächsten Schritt die Punkte aus den Spalten.
Doch da hing es. Mit der Anweisung:
update tabellenname set spaltenname=trim(traiding ' ' from spaltenname) bekomme ich wunderbar die Leerzeichen weg. Setze ich nun aber einen Punkt ind die Hochkommas (um den letzten Punkt aus dem String zu bekommen, scheint es so, als würden wieder die Leerzeichen an die Strings gefügt werden.
Irgendwie komme ich da geistig nicht mehr mit.
Hat irgendeiner 'ne Idee?

Grüße aus Frankfurt...

...Stefan
 
ich würde grundsätzlich vorschlagen, den trim schon vor der Update-Anweisung auszuführen, so dass dann nur noch bleibt:

update tabellenname set `spaltenname`='$wasauchimmer'

dann kannst du dir $wasauchimmer mal zur Kontrolle genau über echo anschauen - einfach anstelle der update-Anweisung, dann siehst du genau was passiert
 
TRIM-Funktion

Wenn ich das Leerzeichen gelöscht habe, und danach einen neuen SELECT ausführe, bei dem ich den TRIM mit angebe (z.B. select spaltenname,1 trim(trailing '.' from spaltenname1) from ...) löscht er mir ja den Punkt aus der Anzeige. Es funktioniert halt nur nicht in der Update-Anweisung.
Ist schon seltsam, denn das Leerzeichen bekomme ich ja mit der Syntax weg.
Hast du vielleicht noch 'ne andere Idee, wie ich den Punkt am Ende des Strings wegbekomme?

...Stefan
 
ENTWARNUNG

Hallo ihr lieben SQL-Götter,

ich kann für mein Problem Entwarnung geben.
Es ist zwar peinlich zuzugeben, aber ich hatte den COMMIT-Befehl am Ende vergessen. Deshalb hat er mir den Inhalt immer wieder zurück geschrieben.
Das kommt davon, wenn man nur in MySQL rummacht und dann auf Oracle losgelassen wird.
Trotzdem nochmal ein dickes DANKE an alle, die sich meines Problems angenommen haben.

...Stefan
 
Zurück