본문 바로가기
DBMS/ORACLE

[ORACLE]오라클_ESCAPE( LIKE시 '%' , ' _ ' 포함된 문자 검색 )

by 썸머워즈 2019. 3. 20.
반응형

ESCAPE

- LIKE 연산으로 '%' 나 '_' 가 포함된 문자를 검색하고자 할때 사용된다.

- '%'나 '_' 앞에 ESCAPE로 특수문자를 지정하면 검색할 수 있다.

- 특수문자는 아무거나 상관없이 사용 가능하다.


특수문자를 지정한다는게 무슨 의미일까?

 

일단 일반적으로 LIKE 구문을 사용하는것 처럼 사용해보면 아래와 같다.

SELECT name FROM oracleStudy WHERE name like '%_%'; -- 하늘_바람,높새%바람,피카츄,라이츄
SELECT name FROM oracleStudy WHERE name like '%%%'; -- 하늘_바람,높새%바람,피카츄,라이츄

 

'%' 나 '_' 가 포함된 문자열만 검색하고자 했는데 역시 인식을 하지 못하는 상황이 발생한다.

이럴때 사용하는게 ESCAPE 구문인데, 사용방법은 매우 간단하다.

SELECT name FROM oracleStudy WHERE name like '%N_%' ESCAPE 'N'; -- 하늘_바람
SELECT name FROM oracleStudy WHERE name like '%G%%' ESCAPE 'G'; -- 높새%바람

 

처음 설명에서 ESCAPE 구문을 사용할 때 '%'나 '_' 앞에  아무 문자나 상관없다고 하였는데,

위 예제를 보면 ESCAPE에 사용할 문자로 'N' 과 'G'를 사용하였다.

 

구문 마지막에 ESCAPE 에 사용할 문자열만 지정해주면 '_' 나 '%' 를 검색에 사용할 수 있게 도와준다.

반응형


댓글

TOP