PC · IT · DB/Oracle

[오라클] 정규식 REGEXP_LIKE 정의 및 패턴, 매개변수 (REGEXP_LIKE definition and pattern, parameters)

뿌레도 2023. 8. 28. 21:33
728x90
[오라클] 정규식 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 Email Address)

[오라클] 정규식 REGEXP_LIKE 활용 - 이메일 주소 유효성 검사하기 (Oracle REGEXP_LIKE Validate Email Address) 지난 글에서 오라클 정규식 REGEXP_LIKE의 정의 및 패턴, 매개변수에 대해서 다뤘습니다. 이번에는

trivia-korea.tistory.com

[오라클] 정규식 REGEXP_LIKE 전화번호 유효성 검사 (Oracle REGEXP_LIKE Validate Phone Number)

 

[오라클] 정규식 REGEXP_LIKE 활용 - 전화번호 유효성 검사 (Oracle REGEXP_LIKE Validate Phone Number)

[오라클] 정규식 REGEXP_LIKE 활용 - 전화번호 유효성 검사 (Oracle REGEXP_LIKE Validate Phone Number) 이메일 주소의 유효성을 검사에 이은 REGEXP_LIKE 활용 2편, 전화번호 유효성 검사하기 입니다. 1. 숫자로만

trivia-korea.tistory.com

 

300x250