관리 메뉴

Life goes slowly...

[Oracle] 오라클(Oracle) LIKE 정규식 함수 - REGEXP_LIKE() 본문

프로그래밍/Oracle

[Oracle] 오라클(Oracle) LIKE 정규식 함수 - REGEXP_LIKE()

빨강소 2020. 11. 12. 14:19
728x90
반응형

 

 

오라클(Oracle) REGEXP_LIKE() 함수

오라클(Oracle)의 REGEXP_LIKE() 함수는 Oracle(오라클)에서 IN 절에서 LIKE 문을 다중으로 사용하고 싶은 경우에 사용되는 함수로 Where 절에서 LIKE를 OR로 여러 번 사용하는 번거로움을 대신하는 함수입니다. Oracle 10g 이상부터 사용이 가능하는 LIKE 함수이며 정규식을 함께 사용 할 수 있습니다.

Oracle 10g 이상에서 추가된 정규식 관련 함수를 텍스트 리터럴, 바인딩 변수, 문자 데이터를 포함하는 열에서 사용이 가능합니다.

오라클(Oracle)의 REGEXP_LIKE() 함수는 LIKE 함수와 유사하며, 특정 문자 조합을 다양한 패턴으로 대응하기 위하여 사용됩니다.

 

//REGEXP_LIKE() 함수 사용방법

//단일 REGEXP_LIKE() 함수
REGEXP_LIKE([컬럼명],[정규식 패턴 or 표현식 패턴], 매칭 파라미터(옵션))                                

//다중 REGEXP_LIKE() 함수
REGEXP_LIKE([컬럼명],[정규식 패턴 or 표현식 패턴] | [정규식 패턴 or 표현식 패턴], 매칭 파라미터(옵션))  

//매칭 파라미터(옵션)
//'i' : 대소문자를 구분하지 않습니다.
//'c' : 대소문자를 구분합니다. (기본값)
//'n' : 마침표(.) 문자가 새 라인과 일치하도록 허용합니다. 
//'m' : 소스 문자열을 앵커 문자(^ | $)를 활성화하는 여러 줄로 처리합니다. 
//'x' : 공백 문자를 무시합니다.
//소문자나 숫자로 시작하는 행
regexp_like(text, '^[a-z]|^[0-9]'); 

//소문자로 끝나는 행
regexp_like(text, '[a-z]$');

//소문자 전체와 0~9까지의 숫자
regexp_like(text, '[a-z][0-9]'); 

//영문 대문자가 연속으로 3자리 있는 행
regexp_like(text, '[A-Z]{3}');

//특수문자 ? 가 들어가는 행
regexp_like(text, '\?');

//영문 대문자로 시작하지 않는 행
regexp_like(text, '^[^A-Z]')

//숫자를 포함한 모든 문자
regexp_like(text, '*[0-9]');

 

 

728x90
반응형
Comments