Ich mag würde bekommen:REGEXP_SUBSTR für Teil der Zeichenkette
82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
aus dem folgenden Ausdruck
LASTNAME_FIRSTNAME_82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
Weiß jemand, wie ich dies mit REGEXP_SUBSTR bekommen kann?
EDIT
Grundsätzlich habe ich ein Feld, das 7-Sets hat jede von _ getrennt. Die angegebene Zeichenfolge ist nur ein Beispiel. Ich wollte alles nach dem zweiten abrufen. Da es keine feste Zeichenlänge gibt, kann ich keine substr-Funktion verwenden. Daher habe ich regexp_substr. Ich konnte wegzukommen durch eine vereinfachte Version
Select FILE_NAME, ( (REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,3)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,4)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,5)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,6)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+',1,7)) ) as RegExp
from tbl
Hier einige weitere Daten aus dem FILE_NAME Feld ist
LAST_FIRST_82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
SMITH_JOHN_82961_0130BPQX9QZN9G4P5RDTPA9HR4R_MR_1_1of1
LASTNAME_FIRSTNAME_99999_01V0MU4XUQK0Y24Y9RYTFA7W1CM_MR_3_1of1
Welche Logik müssen Sie realisieren? Müssen Sie den Teil 'LASTNAME_FIRSTNAME_' entfernen? Die ersten beiden "Wörter" mit dem Unterstrich als Trennzeichen? alles bis zum zweiten Unterstrich, ...? Und was hast du bisher versucht? – Aleksej