これは、REGEXP_SUBSTR()
を使用して簡単に行うことができます。 関数。 詳細a> 。
このクエリは、アルファベット文字の1番目、2番目、および3番目の出現箇所を識別します。区切り文字があれば、それが何であるかは関係ありません。
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>