Změna odpovědi phonetic_man, která umožní prvky NULL v seznamu. Formát regulárního výrazu '[^,]+'
pro analýzu seznamů s oddělovači nezpracovává prvky seznamu NULL a vrátí nesprávnou hodnotu, pokud taková existuje, a proto je třeba se jeho použití vyhnout. Změňte originál odstraněním například čísla 2 a podívejte se na výsledky. Dostanete '3' na pozici 2. prvku! Zde je způsob, který zpracovává hodnotu NULL a vrací správnou hodnotu prvku:
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;
Další informace a důkaz naleznete zde:https://stackoverflow.com/a/31464699/2543416