Zmiana odpowiedzi fonetycznego_mana, która pozwoli na umieszczenie na liście elementów NULL. Format wyrażenia regularnego '[^,]+'
do parsowania list rozdzielanych nie obsługuje elementów list NULL i zwróci niepoprawną wartość, jeśli taka istnieje, dlatego należy unikać jej używania. Zmień oryginał, usuwając na przykład cyfrę 2 i zobacz wyniki. Otrzymasz „3” na pozycji 2 elementu! Oto sposób, który obsługuje NULL i zwraca poprawną wartość elementu:
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;
Więcej informacji i dowodów znajdziesz tutaj:https://stackoverflow.com/a/31464699/2543416