Database/Oracle
2025.09.21
[Oracle] 오라클 콤마 값을 구분자로 문자열을 분리해서 여러 행으로 변환하는 방법
일상 업무에서 "A,B,C"처럼 콤마(,)로 연결된 문자열을 테이블의 여러 행으로 깔끔하게 분리해야 할 때가 자주 있습니다.REGEXP_SUBSTR + CONNECT 가장 간단한 방법은 REGEXP_SUBSTR + CONNECT BY LEVEL 패턴을 사용해 콤마를 기준으로 문자열을 행으로 펼치는 것입니다. 아래 예시는 테이블 T에서 컬럼 COL의 콤마 구분 값을 여러 행으로 분리합니다.SELECT REGEXP_SUBSTR(STR, '[^,]+', 1, LEVEL) AS SUBSTRFROM ( SELECT 'A,B,C' AS STR FROM DUAL)CONNECT BY LEVEL