Oracle SQL 특정 문자 기준으로 문자열 분리하기(행으로 분리)
Oracle SQL을 작성하다 보면 특정 문자를 기준으로 문자열을 행(row)으로 분리해야 하는 경우가 종종 있다. 만약 테이블 컬럼의 데이터가 "10|20|30|40|50|" 인 경우, 문자 "|"를 기준으로 10~50으로 데이터를 분리(5개의 row) 하려면 아래와 같이 SQL을 작성하면 된다(아래 SQL에서는 테이블이 WITH절, 컬럼은 STR이고, 분리된 ROW 명이 CODE 다 ) 문자열 SQL WITH TMP AS (SELECT '10|20|30|40|50|' AS STR FROM DUAL) SELECT REGEXP_SUBSTR(TMP.STR, '[^|]+', 1, LEVEL) CODE FROM DUAL, TMP CONNECT BYREGEXP_SUBSTR(TMP.STR, '[^|]+', 1, ..
2021. 5. 26.