본문 바로가기

DataBase/Oracle

[Oracle] ESCAPE - LIKE 연산자에서 '%' 와 '_' 를 검색하기

 

 

 

ESCAPE - LIKE로 특수문자를 포함하여 검색하기

 

'_'은 보통 하나의 임의의 문자를 의미하고, '%'는 0개 이상의 문자를 의미한다.

종종 '_' 또는 '%'를 포함한 데이터를 구해야 할 때가 있는데, 이 때 ESCAPE를 사용할 수 있다. 

 

 

ESCAPE

 

SELECT last_name 
   FROM employees
   WHERE last_name 
   LIKE '%A\_B%' ESCAPE '\';
  • '%' 또는 '_' 앞에 임의의 특수문자 둔 후 ESCPAE로 해당 문자를 지정하면 검색이 가능하다. 

 

예시

 

SELECT NAME
FROM STUDENT
WHERE NAME LIKE '%_%'; -- 1문자 이상의 모든 데이터를 SELECT

SELECT NAME
FROM STUDENT
WHERE NAME LIKE '%%%'; -- 0문자 이상의 모든 데이터를 SELECT



SELECT NAME
FROM STUDENT
WHERE NAME LIKE '%#_%' ESCAPE '#'; -- '_' 가 포함된 데이터를 SELECT 

SELECT NAME
FROM STUDENT
WHERE NAME LIKE '%#%%'; ESCAPE '#'; -- '%' 가 포함된 데이터를 SELECT

 

 

 


 

https://docs.oracle.com/cd/B13789_01/server.101/b10759/conditions016.htm

 

LIKE

LIKE The LIKE conditions specify a test involving pattern matching. Whereas the equality operator (=) exactly matches one character value to another, the LIKE conditions match a portion of one character value to another by searching the first value for the

docs.oracle.com