Esto es fácil de hacer con REGEXP_SUBSTR()
función. Más información
.
Esta consulta identifica la primera, segunda y tercera aparición de caracteres alfabéticos. Siempre que haya un delimitador, no importa cuál sea.
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>