Un cambio en la respuesta de phonetic_man que permitirá elementos NULL en la lista. El formato regex de '[^,]+'
para el análisis de listas delimitadas no maneja elementos de lista NULL y devolverá un valor incorrecto si existe y, por lo tanto, se debe evitar su uso. Cambie el original eliminando el número 2, por ejemplo, y vea los resultados. ¡Obtendrás un '3' en la posición del segundo elemento! Aquí hay una forma que maneja NULL y devuelve el valor correcto para el 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;
Consulte aquí para obtener más información y pruebas:https://stackoverflow.com/a/31464699/2543416