Prova detta för att analysera listdelen. Den hanterar NULLS:
SQL> select regexp_substr('12 3,456,,abc,def', '(.*?)(,|$)', 1, level, null, 1) SPLIT, level
from dual
connect by level <= regexp_count('12 3,456,,abc,def',',') + 1
ORDER BY level;
SPLIT LEVEL
----------------- ----------
12 3 1
456 2
3
abc 4
def 5
SQL>
Tyvärr när du söker efter regex för att analysera listor, hittar du alltid detta formulär som INTE hanterar nollvärden och bör undvikas:'[^,]+'
. Se här för mer info:Dela upp kommaseparerade värden till kolumner i Oracle.