Промяна в отговора на phonetic_man, която ще позволи NULL елементи в списъка. Форматът на регулярен израз на '[^,]+'
за синтактичен анализ на разделени списъци не обработва NULL списъчни елементи и ще върне неправилна стойност, ако такава съществува и по този начин използването му трябва да се избягва. Променете оригинала, като изтриете числото 2 например и вижте резултатите. Ще получите '3' в позицията на втория елемент! Ето начин, който обработва NULL и връща правилната стойност за елемента:
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;
Вижте тук за повече информация и доказателство:https://stackoverflow.com/a/31464699/2543416