본문 바로가기
STUDY/SQL

REGEXP_SUBSTR

by NOTEEE 2018. 2. 22.

REGEXP_SUBSTR 이란?


SUBSTR 함수의 기능의 확장. 구분자를 기준으로 Split.


오라클 10g 이상에서 사용이 가능.


형식

REGEXP_SUBSTR (source_char, pattern 
                      [, position
                      [, occurrence
                      [, match_param
                      [subxpr]]]])
cs


- source_char : 문자열.

- position : 오라클이 문자열에서 특정 문자를 어디에서 찾아야 하는지 위치를 나타냄. 기본으로 1로 설정되어 있으므로, 문자열의 처음부터 검색을 시작.

- occurrence : source_char 에 pattern 이 발생한 횟수도 디폴트는 1.

- match_parameter : 디폴트 매칭을 변경할 때 사용.


예제

SELECT 
    TRIM(REGEXP_SUBSTR(REPLACE(RESULT, '|''| '), '[^|]+'11)) AS idx1,
    TRIM(REGEXP_SUBSTR(REPLACE(RESULT, '|''| '), '[^|]+'12)) AS idx2,
    TRIM(REGEXP_SUBSTR(REPLACE(RESULT, '|''| '), '[^|]+'13)) AS idx3,
    TRIM(REGEXP_SUBSTR(REPLACE(RESULT, '|''| '), '[^|]+'14)) AS idx4
FROM ( 
    SELECT '|A|B|C|D|' RESULT
    FROM dual 
);
 
cs

- '[^|]+' 문자패턴을 의미

- (1, 1), (1, 2)...는 첫 번째부터 탐색하여 *번째 만나는 문자열을 반환하라는 의미.

'STUDY > SQL' 카테고리의 다른 글

LTRIM, RTRIM, TRIM  (0) 2018.02.23
REPLACE  (0) 2018.02.23
SYS_CONNECT_BY_PATH  (0) 2018.02.22
MySQL DATE 날짜 형식 바꾸기  (0) 2018.01.31
오라클통계쿼리  (0) 2018.01.23