[오라클] 정규식 REGEXP_LIKE 정의 및 패턴, 매개변수 (REGEXP_LIKE definition and pattern, parameters)
REGEXP_LIKE는 오라클 데이터베이스에서 제공하는 함수로, 주어진 문자열이 정규 표현식과 일치하는지 여부를 확인하는 데 사용됩니다. 이 함수는 WHERE 절에서 조건으로 사용되어 데이터를 필터링하는 데 유용합니다.
REGEXP_LIKE 함수는 세 개의 매개변수를 가지며, 첫 번째 매개변수는 검사할 문자열, 두 번째 매개변수는 정규 표현식 패턴, 세 번째 매개변수는 옵션으로 대소문자 구분 여부를 설정할 수 있습니다.
*POSIX 정규식 표준 및 유니코드 정규식 지침을 준수
REGEXP_LIKE 기본 구조
REGEXP_LIKE( SOURCE_STRING , PATTERN , MATCH_PARAMETER )
SOURCE_STRING : 검색 대상(컬럼)으로 사용되는 문자 표현식입니다. 일반적으로 문자열이며 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB 또는 NCLOB 데이터 유형 중 하나이다.
PATTERN : 정규식으로 일반적으로 문자열이며 CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 유형 중 하나이다. 최대 512바이트를 포함할 수 있으며, 패턴의 데이터 유형이 SOURCE_STRING의 데이터 유형과 다른 경우 Oracle은 PATTERN을 SOURCE_STRING의 데이터 유형으로 변환합니다.
SOURCE_STRING과 PATTERN의 데이터 유형이 다른 경우 예시
SOURCE_STRING CLOB + PATTERN VARCHAR2
==> SOURCE_STRING CLOB + PATTERN CLOB
SOURCE_STRING VARCHAR2 + PATTERN CHAR
==> SOURCE_STRING VARCHAR2 + PATTERN VARCHAR2
MATCH_PARAMETER : 함수의 기본 일치 동작을 변경할 수 있는 문자열입니다.
i : 대소문자를 구분하지 않고 일치 여부를 판단
ex) REGEXP_LIKE('Hello', 'hello', 'i') => TRUE
c : 대소문자를 구분하여 일치 여부를 판단
ex) REGEXP_LIKE('Hello', 'hello', 'c') => FALSE
n : 모든 문자 일치 와일드카드 문자인 마침표(.)가 개행 문자와 일치하도록 허용합니다. 이 매개변수를 생략하면 마침표가 개행 문자와 일치하지 않습니다.
m : 소스 문자열을 여러 줄로 처리합니다. Oracle은 ^ 및 $를 각각 전체 소스 문자열의 시작이나 끝이 아닌 소스 문자열의 모든 행의 시작과 끝으로 해석합니다. 이 매개변수를 생략하면 Oracle은 소스 문자열을 단일 행으로 처리합니다.
MATCH_PARAMETER 생략시
1. 기본 대소문자 구분은 NLS_SORT 매개변수의 값에 따라 결정
2. 마침표(.)는 개행 문자와 일치하지 않음
3. 소스 문자열은 단일 행으로 처리
REGEXP_LIKE 결과 값
REGEXP_LIKE 함수는 일치하는 경우 TRUE를 반환, 일치하지 않는 경우 FALSE를 반환합니다. 이 함수를 사용하여 문자열의 유효성을 검사하거나 원하는 패턴과 일치하는 문자열을 찾을 수 있습니다.
ex) REGEXP_LIKE('hello', '^[A-Za-z]{5}$')
=> 'hello'라는 문자열이 알파벳으로 이루어진 5자리 문자열과 일치하는지 확인합니다.
일치하는 경우 TRUE 반환
일치하지 않는 경우 FALSE 반환
#REGEXP_LIKE 사용법 #REGEXP_LIKE 예제 #REGEXP_LIKE 대소문자 구분 #REGEXP_LIKE 정규 표현식 #REGEXP_LIKE 대소문자 무시 #REGEXP_LIKE 로캘 설정 #REGEXP_LIKE 패턴 매칭 #REGEXP_LIKE 문자열 검색 #REGEXP_LIKE SQL 함수 #REGEXP_LIKE 대소문자 일치 #오라클 정규식 #오라클 REGEXP_LIKE 예시
[오라클] 정규식 REGEXP_LIKE 이메일 주소 유효성 검사하기 (Oracle REGEXP_LIKE Validate Email Address)
[오라클] 정규식 REGEXP_LIKE 전화번호 유효성 검사 (Oracle REGEXP_LIKE Validate Phone Number)
'PC · IT · DB > Oracle' 카테고리의 다른 글
[오라클] 정규식 REGEXP_LIKE 전화번호 유효성 검사 (Validate Phone Number) (0) | 2023.08.30 |
---|---|
[오라클] 정규식 REGEXP_LIKE 이메일주소 유효성 검사 (Validate Email Address) (0) | 2023.08.29 |
[오라클] 오라클 쿼리 튜닝 예시 (Oracle Query Tuning Example) (0) | 2023.08.27 |
[오라클] 오라클 실행 계획 Cost &CPU, 플랜 보는법 (Oracle Explain plan Cost & CPU) (0) | 2023.08.24 |
[오라클] ORA-28056 이벤트 로그에 감사 레코드 쓰기를 실패했습니다. (0) | 2023.08.12 |