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분이상 했다
이 함수 좀 이해하기 어려웠음
[ORACLE] Sqldeveloper 설치 방법 (0) | 2020.02.12 |
---|---|
[ORACLE] Oracle 11g / 오라클 11g 설치 방법 (2) | 2020.02.10 |
[DATABASE/SQL] WHERE절에 NOT 사용하기 , 특정 값을 제외한 조회 (1) | 2020.02.07 |
[DATABASE>PL/SQL] 프로시저 변수타입 동적설정 (0) | 2020.01.29 |
ORA - 28001 DB계정 비밀번호 변경 (0) | 2018.07.05 |
댓글 영역