How to create multi-row output for a Comma seperated value - Addendum

Use this query to convert any length string in comma separated format to rows:

SELECT
SUBSTR('AA,BBB,C,D,E,F,G,H',
INSTR(CHR(44)||'AA,BBB,C,D,E,F,G,H'||
CHR(44),',',1,LEVEL),

INSTR('AA,BBB,C,D,E,F,G,H'||CHR(44),',',1,LEVEL)-
INSTR(CHR(44)||'AA,BBB,C,D,E,F,G,H'||
CHR(44),',',1,LEVEL))

FROM DUAL
CONNECT BY LEVEL <= LENGTH('AA,BBB,C,D,E,F,G,H')-
LENGTH(REPLACE('AA,BBB,C,D,E,F,G,H',','))+1