oracle1987
Neuer Benutzer
- Beiträge
- 1
Hallo Zusammen!
Ich versuche gerade einen View von SQL-Server zu Oracle zu migrieren/anzupassen.
Probleme bereitet mir hierbei die Bereistellung der Funktionalität, welche mir unter SQL-Server die Funktion "patindex" bereitgestellt hat.
Where-Bedingung SQL:
...
and (patindex('%!'+rtrim(LOANR)+'!%',replace(replace(isnull('[xxx1],[9004]',0),'[','!'),']','!')) > 0)
Where-Bedingung Oracle:
and REGEXP_INSTR('[xxx1],[9004]', '[' || LOANR || ']', 1, 1, 0, 'i') > 0
Leider bekomme ich unter Oracle alle Zeilen ohne Einschränkung auf die Lohnart (LOANR) zurück :-(
Der String '[xxx1],[9004]' ist hierbei die Liste der Lohanrten, welche angezeigt werden sollen.
Die Lohnart selbst steht unmaskiert (ohne "[" "]") z.B. "9004" in der entsprechenden Tabelle.
Die Einschränkungsliste kommt eigentlich von einer anderen Tabelle / Spalte. Der Aufbau ist wie folgt:
"[val1],[val2],[val3]".
Zu Testzwecken habe ich ich es jetzt erst einmal als String in die Bedingung direkt eingebaut.
Hoffe mir kann jemand helfen.
LG und Danke
Ich versuche gerade einen View von SQL-Server zu Oracle zu migrieren/anzupassen.
Probleme bereitet mir hierbei die Bereistellung der Funktionalität, welche mir unter SQL-Server die Funktion "patindex" bereitgestellt hat.
Where-Bedingung SQL:
...
and (patindex('%!'+rtrim(LOANR)+'!%',replace(replace(isnull('[xxx1],[9004]',0),'[','!'),']','!')) > 0)
Where-Bedingung Oracle:
and REGEXP_INSTR('[xxx1],[9004]', '[' || LOANR || ']', 1, 1, 0, 'i') > 0
Leider bekomme ich unter Oracle alle Zeilen ohne Einschränkung auf die Lohnart (LOANR) zurück :-(
Der String '[xxx1],[9004]' ist hierbei die Liste der Lohanrten, welche angezeigt werden sollen.
Die Lohnart selbst steht unmaskiert (ohne "[" "]") z.B. "9004" in der entsprechenden Tabelle.
Die Einschränkungsliste kommt eigentlich von einer anderen Tabelle / Spalte. Der Aufbau ist wie folgt:
"[val1],[val2],[val3]".
Zu Testzwecken habe ich ich es jetzt erst einmal als String in die Bedingung direkt eingebaut.
Hoffe mir kann jemand helfen.
LG und Danke