La 1ère requête avec connect by level n'est pas correcte pour plus d'une ligne.
Il faut la modifier comme ceci :


SELECT REGEXP_SUBSTR(str, '[^( AS )]+,', 1, LEVEL) AS substr
FROM (
...