상세 컨텐츠

본문 제목

[ORACLE/SQL]REGEXP_SUBSTR 함수

PROGRAMMING/DATABASE

by 니콜 키크드만 2018. 9. 7. 19:08

본문


Oracle 10g 부터 나온 기능 


예제) C-01-02 문자 나누기

사용방법
  + REGEXP_SUBSTR(대상 문자, 패턴, 시작 위치(최소값1),매칭순번)

REGEXP_SUBSTR('C-01-02','[^-]+',1,1)
 결과 = C

REGEXP_SUBSTR('C-01-02','[^-]+',1,2)
 결과 = 01

REGEXP_SUBSTR('C-01-02','[^-]+',1,3)
 결과 = 03

대괄호 [] 안의 ^ 는  NOT의 의미를 나타냄
^ 문자가 대괄호 밖에서 사용되면 문자열의 시작을 의미함
+ 는 문자패턴이 1개이상 연결될 때를 나타냄, 위 예제에서 01,03등 2개이상 나타내기 위함
+ 시작위치 & 매칭 순번

앞의 대상문자와 패턴에 의해 나누어진 문자들을 몇번째 INDEX에서 시작하여 몇번째의 나누어진 문자를 가져올것인지에 대한 PARAMETER

즉 위 예제에서 1,2는 C // 01 // 02 의 나누어진 문자중 1번째 INDEX부터 시작하는 2번째 문자를 가져오라는 뜻
2번째 문자 : 01 , 1번째 인덱스 부터 : 0부터~

안까먹겠다^^..간만에 오라클 함수로 삽질을 30분이상 했다
이 함수 좀 이해하기 어려웠음


반응형

관련글 더보기

댓글 영역