Das geht ganz einfach mit REGEXP_SUBSTR()
Funktion. Weitere Informationen
.
Diese Abfrage identifiziert das erste, zweite und dritte Vorkommen alphabetischer Zeichen. Solange es ein Trennzeichen gibt, spielt es keine Rolle, was es ist.
SQL> select col1
2 , regexp_substr(col1, '[[:alpha:]]+') first_name
3 , regexp_substr(col1, '[[:alpha:]]+', 1, 2) middle_name
4 , regexp_substr(col1, '[[:alpha:]]+', 1, 3) last_name
5 from t34;
COL1 FIRST_NAME MIDDLE_NAM LAST_NAME
------------------------------ ---------- ---------- ----------
Jack,Jon Man Jack Jon Man
SQL>