정규식을 이용한 문자열 자르기

WITH
    T
    AS
        (SELECT '대전, 부산, 강원도(강릉시, 속초시, 동해시), 광주, 경상남도(김해시, 창원시), 경상북도(경주시, 포항시, 영덕군)'
                    AS AREA
           FROM DUAL)
SELECT REPLACE( AREA1, ',', '' ) AREA1, REPLACE( REGEXP_REPLACE( AREA2, '[^.]+\((.+)\)', '\1' ), AREA1, '' ) AREA2
  FROM (SELECT REGEXP_SUBSTR
               (
                   REGEXP_REPLACE( AREA, '\(([^,\(]+(,|))+\)', '' )
                 , '[^, \(]+(,|\(|$)'
                 , 1
                 , D.NO
               )
                   AREA1
             , REGEXP_SUBSTR
               (
                   AREA
                 , '[^, \(]+(,|\(([^,\(]+(,|))+\))'
                 , 1
                 , D.NO
               )
                   AREA2
          FROM T
             , (    SELECT LEVEL NO
                      FROM DUAL
                CONNECT BY LEVEL <= 10) D)
 WHERE AREA1 IS NOT NULL;

관련 URL : http://www.gurubee.net/article/79659

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다