SELECT REGEXP_SUBSTR ('first field, second field , third field', '[^,]+', 1,rownum)
FROM DUAL
CONNECT BY ROWNUM <=
LENGTH ('first field, second field , third field') - LENGTH (REPLACE ('first field, second field , third field', ',', ''))+1;
------------------------------------------------------------------------------ first field second field third field