View Full Version : SQL-Funktion REPLACE mit Fehler
Kann mir jemand erklären, warum dieser Befehl auf der iSeries nicht funktioniert:
UPDATE kennzp SET bem1 = REPLACE(bem1,'xxxxxxx','yyyyyy')
where bem1 like '%ARTIKEL%'
Fehlermeldung:
REPLACE der Art *N in *LIBL nicht gefunden.
Wenn ich diesen Befehl über ODBC aufrufe, wird er verarbeitet.
Vielen Dank im voraus
MfG
Roland
Die AS/400 kennt den REPLACE noch nicht.
Wenn du Über ODBC gehst und es funktioniert, verwendest du sicherlich kein SQL-Passthru sondern z.B. MS-ACCESS.
Dieser ist in der Lage, bestimmte SQL-Funktionen zu ersetzen, so dass sie auch auf der AS/400 funktionieren.
Ich kann in Access ja auch eigene Funktionen (in VB-Modulen) schreiben, die ich in den SQL's dann verwenden kann. Genauso verhält es sich mit REPLACE.
Fehlermeldung:
REPLACE der Art *N in *LIBL nicht gefunden.
Die REPLACE-Funktion ist erst mit Release V5R3M0 verfügbar.
Je nach Anforderung kannst Du den REPLACE eventuell durch TRANSLATE ersetzen.
Andererseits Du kannst Dir auch eine RPG-Funktion, die die Built-in-Funktion %Replace() verwendet, erstellen. Anschliessend erstellst Du über den SQL-Befehl CREATE FUNCTION aus dieser RPG-Funktion eine UDF (User defined Function). UDFs kannst Du wie jede Skalare Funktionen einsetzen.
Birgitta
Vielen Dank für die Infos
Roland