WITH t AS ( SELECT '제품-11231G, 사과1K' v FROM dual UNION ALL SELECT '제품-2120S, 감5C' FROM dual UNION ALL SELECT '제품-555A, 배3A' FROM dual ) SELECT v , REGEXP_REPLACE(v, '.+-|,.+') x , SUBSTR(v, INSTR(v, '-') + 1, INSTR(v, ',') - INSTR(v, '-') - 1) y , SUBSTR(v, 4, INSTR(v, ',') - 4) z -- 항상 "제품-"로 시작한다면? FROM t ;