본문 바로가기

DataBase/Oracle

[펌]LIKE연산자에서 '%'와 '_'를 포함하는 단어 검색 방법

LIKE연산으로 '%'나 '_'가 들어간 문자를 검색하기 위해서는 ESCAPE를 사용해야 합니다.
'_'나 '%'앞에 ESCAPE로 특수 문자를 지정하면 검색할 수 있습니다.


1. '_' 가 있는 문자 검색

 SQL>SELECT   loc
         FROM   dept
         WHERE   loc like '%#_%' ESCAPE '#';
       
LOC
-------------
NEW_YORK       
 
위 문장에서 #대신 다른 문자가 와도 됩니다.
(아래같이 @같은 특수 문자나, A같은 아파벳이나, 9같은 숫자가 와도 똑같은 결과가 나오네요)

아래의 결과들을 한번 비교해 보시기 바랍니다.

SQL> SELECT   loc
         FROM   dept
         WHERE   loc like
'%N%@_%' ESCAPE '@'
       
LOC
-------------
NEW_YORK       
 

 
SQL>SELECT loc
        FROM dept
        WHERE loc like '%_%';
       
LOC
-----------
NEW_YORK
DALLAS
CHICAGO
BOSTON

 

2, '%' 가 있는 문자 검색

'%'가 있는 문자도 '_'가 있는 문자 검색과 동일 합니다.

SQL>SELECT loc
        FROM dept
        WHERE loc like
'%@%%' ESCAPE '@';
 
LOC
-------------
BOS%TON
 
 
SQL>SELECT loc
       FROM dept
       WHERE loc like '%%%';

LOC
-------------
NEW_YORK
DALLAS
CHICAGO
BOS%TON

'DataBase > Oracle' 카테고리의 다른 글

NVL2 함수의 사용  (0) 2008.08.08
LONG TYPE을 LOB TYPE으로 CONVERSION하는 방법(TO_LOB)  (0) 2008.08.08
[펌]IMPORT  (0) 2008.08.08
[펌]EXPORT  (0) 2008.08.08
[펌]EXECUTE IMMEDIATE를 이용한 Dynamic SQL  (0) 2008.08.08