WITH t AS ( SELECT '1,2,3,4,5' a FROM dual ) SELECT a , REGEXP_SUBSTR(a, '[^,]+', 1, 1) c1 , REGEXP_SUBSTR(a, '[^,]+', 1, 2) c2 , REGEXP_SUBSTR(a, '[^,]+', 1, 3) c3 , REGEXP_SUBSTR(a, '[^,]+', 1, 4) c4 , REGEXP_SUBSTR(a, '[^,]+', 1, 5) c5 , REGEXP_SUBSTR(a, '[^,]+', 1, 6) c6 , REGEXP_SUBSTR(a, '[^,]+', 1, 7) c7 , REGEXP_SUBSTR(a, '[^,]+', 1, 8) c8 , REGEXP_SUBSTR(a, '[^,]+', 1, 9) c9 FROM t ;