2017-01-20 1 views
-3

Ich muss die Werte einer Spalte in Oracle-Datenbank bearbeiten. Dabei folgen die Werte ein Muster:Ersetzen von Werten aus einer Spalte mit RegEx in Oracle

123456789X

Die Änderung erfordert die folgende Änderung:

  • hinzufügen sechs 0'en
  • Leerzeichen zwischen dem 0'en hinzufügen und die X

123456789000000 X

Ich muss diese Änderung mit einem Muster oder RegExp in einer einzigen Abfrage vornehmen.

Dank

+1

Was ist das Muster? Bitte geben Sie weitere Einzelheiten an. – TechEnthusiast

+0

Das Muster der Spalte wird in Anführungszeichen angegeben, Werte, die demselben Muster folgen, denen Sie jedoch weitere Werte hinzufügen möchten (einige 0 und Leerzeichen). –

+1

Noch nicht genügend Informationen, um eine Lösung zu finden. – TechEnthusiast

Antwort

0

Verwenden regexp_replace Funktion die Zeichenfolge zu konvertieren.

Sie müssen die entsprechende Konvertierungsregel definieren, z.

SELECT REGEXP_REPLACE('Qwerty123456X', 
'([[:digit:]])([[:alpha:]])', -- Rule : Digit followed by Number 
'\1<bla>\2') CITY -- insert <bla> between 
FROM DUAL; 

---> Qwerty123456<bla>X 
+0

danke, das löst mein Problem –

Verwandte Themen