2013년 8월 27일 화요일

오라클 LIKE와 REGEXP_LIKE 예제[oraclejava,javaoracle교육강좌강의,오라클자바실무개발잘하는학원,오라클강좌자바강좌강의]

Oracle10g 이전 버전의 like와 비슷한 기능을 하는 REGEXP_LIKE에 대해 알아보도록 하겠습니다. 


오라클자바커뮤니티에서 설립한  개발자실무교육6년차 오엔제이프로그래밍 실무교육센터
(신입사원채용무료교육, 오라클, SQL, 튜닝, 자바, 스프링, Ajax, jQuery, 안드로이드, 아이폰, 닷넷, C#, ASP.Net)   www.onjprogramming.co.kr 

REGEXP는 LIKE조건과 비슷하지만 정규 POSIX와 UNICODE 표현식을 매핑하는 부분에선 LIKE와 차이가 있습니다.  LIKE의 경우는 Simple Pattenr Matching 인데 반해 좀더 강력한 기능을 제공 합니다.

아래 간단한 예제를 소개하니 참고 하세요~

먼저 LIKE를 이용하여 EMP TABLE에서 ENAME이 ‘J’로 시작하는 사람들을 검색해 보겠습니다. 지금까지 주로 봐왔던 간단한 패턴 매칭 이죠^^

SELECT ENAME
FROM  EMP
WHERE  ENAME LIKE 'J%';

[결과]
ENAME
-----
JONES
JAMES
JJSTAR

먼저 같은 결과를 만들어 내는 REGEXP_LIKE문은 다음과 같습니다.

SELECT ename
FROM  emp
WHERE  REGEXP_LIKE (ename, '^J');

만약 정규 표현식을 사용해 보신분이 계시다면 충분히 이해가 되실 겁니다.
^ --> 시작, % --> 끝 ...

이번에 조금더 변형해 볼까요?

SELECT ename
FROM  emp
WHERE  REGEXP_LIKE (ename, '^J.(N|M)');

이 경우는 ename이 ‘J’로 시작하며 세번째 문자가 M or N인 데이터를 찾는 것이죠…

결과는 아래와 같습니다.

[결과]
ENAME
-----
JONES
JAMES

관련된 자세한 부분은 Oracle Manaual을 참고해 보시고 스스로 공부해 보시기 바랍니다. 

댓글 없음:

댓글 쓰기