受け入れられた回答では、null位置の後に値が必要な場合は処理されません(6番目のフィールドを取得してみてください):
SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '[^,]*', 1, 6) phn_end
_dt
2 from dual;
P
-
代わりにこれを行う必要があると私は信じています(11gで動作します):
SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '([^,]*)(,|$)', 1, 6,
NULL, 1) phn_end_dt
2 from dual;
P
-
P
自分の質問を投稿した後、これを発見しました: REGEXはリストからn番目の値を選択し、nullを許可します