update mit substring

selim

Benutzer
Beiträge
7
Hallo,

ich habe kurz eine frage vielleicht kann mir jemand helfen?

ich wollte ein update auf einer Oracle Datenbank machen mit substr.

funktioniert nicht leider nicht so wie ich es kenne von DB2.

Hier meine frage ich habe etwas gefunden und damit funktioniert es aber ich verstehe die Syntax nicht, kann dies mir jemand erklären vielleicht?

Das Feld ist 10 stellen lang.

normaler weisse hätte ich es so geschrieben:

UPDATE Tabelle
SET Feld =
substr(Feld, 2, 1) = '1'

in Orcale muss ich es so schreiben:
UPDATE Tabelle
SET Feld =
substr(Feld, 1, 1) || '1' || substr(Feld, 3)

Danke schon mal
 
Werbung:
ja.

mit den zwei substr() - Funktionen zerschnippelst Du den String, mit || verklebst Du zwei Strings. Alles zusammen ergibt dann das, was du machen willst.

Hint: die Verwendung von WHERE in einem Update-Befehl kann einem vor plötzlich starker Alterung bewahren ...
 
Das habe ich verstanden aber ich gebe im zweiten substring eine 3 und keine länge ein um auf meine stellen zu kommen wieso 3?
 
Danke, also bedeute es dies:

Datensatz: 101234
update tabelle
set
substr(feld, 1, 1) ||'1'| substr(feld, 3)

ab stelle 0 bis 1 "1" wird übernommen || Stelle 2 mit "0" wird durch "1" ersetzt || und abstelle 3 wird alles übernommen bis zum bitteren ... ;-) Tausend dank, jetzt macht es sinn.
 
In PG geht es mit Position 1 los:

Code:
test=*# select substring('123456789',0,1);
 substring
-----------
(1 Zeile)

test=*# select substring('123456789',1,1);
 substring
-----------
 1
(1 Zeile)

test=*#

Also, ab Stelle 1 bis 1 wird übernommen, der Rest ist ok.
 
Werbung:
Zurück
Oben