Uma mudança na resposta de phonetic_man que permitirá elementos NULL na lista. O formato regex de
'[^,]+'
para analisar listas delimitadas não lida com elementos de lista NULL e retornará um valor incorreto se existir e, portanto, seu uso deve ser evitado. Altere o original excluindo o número 2, por exemplo, e veja os resultados. Você obterá um '3' na posição do 2º elemento! Aqui está uma maneira que lida com o NULL e retorna o valor correto para o elemento:SELECT TRIM(REGEXP_SUBSTR(str, '(.*?)(,|$)', 1, LEVEL, NULL, 1)) str
FROM ( SELECT '1,,3,4' str FROM dual )
connect by level <= regexp_count(str, ',') + 1;
Veja aqui mais informações e provas:https://stackoverflow.com/a/31464699/2543416