일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 종합과세
- 2룸 오피스텔 투자
- chatgpt 100% 신뢰금지
- 상업시설용지 분양
- 갤럭시탭 with Pen
- PostgreSQL
- 다주택임대
- 임대소득외 추가소득이 있을 경우
- 오라클 데이터베이스 내장함수
- Python
- 나는 어디로?
- 라이브러리 vs 패키지
- 가장 많이 사용되는 파이썬 패키지
- 데이터 리터러시
- 가장 많이 사용되는 파이썬 라이브러리
- 소형주택 세액감면
- 전세보증보험
- Google vs MicorSoft
- bard 100% 신뢰금지
- 주택임대사업자
- Google vs OpenAI
- chatgpt vs bard
- robux
- 종합소득세
- 가장 인기있는 파이썬 라이브러리
- 가장 인기있는 파이썬 패키지
- 파이썬 TypeError
- 주상복합용지 분양
- 오피스텔투자
- 공개서적
All thing of the world!
Oracle REGEXP_SUBSTR 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle REGEXP_SUBSTR은 문자열에서 정규표현식 패턴을 검색하여, 검색된 문자열을 반환한다.
REGEXP_INSTR 문자열의 위치를 반환하는데 반해, REGEXP_SUBSTR은 문자열 자체를 반환한다.
2. 샘플을 통한 개념 퀵뷰
문자열을 검사하여 쉼표로 묶인 첫번째 문자열을 찾는다. 선행 및 후행 쉼표를 포함한 부분문자열을 반환한다.
SELECT
REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA',
',[^,]+,') "REGEXPR_SUBSTR"
FROM DUAL;
REGEXPR_SUBSTR
-----------------
, Redwood Shores,
3. 사용방법
4. 함수 PARAMETER 설명
리턴데이터 타입은 VARCHAR2 또는 CLOB 데이터로 리턴한다.
[source_char]
source_char는 검색할 소스문자열을 입력하는 입력 파라미터이다.
일반적으로 문자열이며 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB 또는 NCLOB 데이터 유형 중 하나가 될 수 있다.
[pattern]
pattern은 정규식이다.
일반적으로 텍스트이며 CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 유형 중 하나며, 최대 512 바이트까지 포함 할 수 있다.
pattern의 데이터 유형이 source_char의 데이터 유형과 다른 경우 pattern을 source_char의 데이터 유형으로 변환한다.
[position]
position은 검색을 시작해야 하는 source_char의 위치를 나타내는 양의 정수이다.
기본값은 1로, Oracle이 source_char의 첫 문자에서 검색을 시작함을 의미한다.
[occurrence]
occurrence는 source_char에서 검색해야 하는 패턴의 발생횟수를 나타내는 양의 정수이다.
기본값은 1이며, 1이라면 pattern의 첫 번째 항목을 찾는다.
occurrence가 1보다 크면, pattern의 첫 번째 발생 다음에 나오는 두번째 발생위치를 검색한다.
이 동작은 첫번째 발생의 두번째 문자부터 두번째 발생을 검색하기 시작하는 INSTR 함수와 다르다.
[match_param]
match_param은 함수의 기본 일치 동작을 변경할 수 있다.
match_param에 대해 다음 값 중 하나 이상을 지정할 수 있다.
- 'i'는 대소문자를 구분하지 않는다.
- 'c'는 대소문자를 구분한다.
- 'n'은 마침표 (.)와 일치하는 모든 문자를 줄 바꿈 문자와 일치시킨다. 이 매개변수를 생략하면 마침표는 개행문자로 보지 않는다.
- 'm'은 소스 문자열을 여러 줄로 취급한다. 이 매개 변수를 생략하면 소스 문자열을 단일 행으로 취급한다.
- 'x'는 공백 문자를 무시한다.
여러 개의 모순된 값을 지정하면 Oracle은 마지막값을 사용합니다. 예를 들어, 'ic'를 지정하면, 'c'를 적용하여 대소문자를 구분한다. 위에 표시된 문자 이외의 문자를 지정하면 오라클은 오류를 반환한다.
match_param에 아무 것도 적지 않게 되면,
- 대소문자 구분은 NLS_SORT 매개 변수의 값에 의해 결정된다.
- 마침표 (.)가 개행문자로 보지 않는다.
- 소스문자열은 단일행으로 처리된다.
[subexpr]
서브 표현식이 있는 패턴의 경우 subexpr은 패턴의 하위표현식이 함수의 검색대상인지 나타내며, 0에서 9까지의 정수로 표현한다.
subexpr은 괄호로 묶인 패턴 조각이며, 하위 표현식은 중첩될 수 있다.
하위 표현식은 왼쪽 괄호가 나타나는 순서대로 번호가 매겨진다.
예를 들어, 다음 표현식을 보자.
0123(((abc)(de)f)ghi)45(678)
이 표현식에는 "abcdefghi"다음에 "abcdef", "abc", "de"및 "678"순으로 5 개의 서브 표현식이 있다.
subexpr이 0이면 패턴과 일치하는 전체 하위문자열의 위치를 반환한다.
subexpr이 0보다 큰 경우 일치하는 하위문자열의 하위표현식 번호에 해당하는 하위 문자열의 위치가 반환된다.
pattern에 subexpr 하위 표현식이 없으면 함수는 0을 반환한다.
null subexpr 값은 NULL을 반환한다. subexpr의 기본값은 0이다.
5. 다양한 샘플표현
example1) "http://" 다음에 하나 이상의 영숫자와 마침표 (.) 문자열을 검사한다. "http://"와 슬래시 (/) 또는 문자열의 끝 사이에서 최소 3 번에서 최대 4 회까지 찾는다.
SELECT
REGEXP_SUBSTR('http://www.example.com/products',
'http://([[:alnum:]]+\.?){3,4}/?') "REGEXP_SUBSTR"
FROM DUAL;
REGEXP_SUBSTR
----------------------
http://www.example.com/
example2) subexpr 인수를 사용하여 패턴의 특정 서브표현식을 리턴한다. pattern의 첫번째 서브표현식을 리턴한다.
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle REGEXP_REPLACE 설명 : 오라클 함수 (0) | 2021.03.31 |
---|---|
Oracle COVAR_POP 설명 : 오라클 함수 (0) | 2021.03.31 |
Oracle DUMP 설명 : 오라클 함수 (0) | 2021.03.31 |
Oracle NEXT_DAY 설명 : 오라클 함수 (0) | 2021.03.31 |
Oracle NEW_TIME 설명 : 오라클 함수 (0) | 2021.03.31 |