2. 컴퓨터 이야기/프로그래밍

오라클 DB 쿼리문에 % 나 _ 문자 등의 escape 이스케이프 처리

래빗 크리스 2009. 3. 26. 16:29

아래와 같이 '_' 문자 자체는 오라클 DB 에서 하나의 문자를 대체하는 키워드이기 때문에,
이를 무시하고 쿼리가 되도록 하려면 해당 문장 뒤에 escape 을 기술

temp003 like '%____%' escape '_'
만약 데이타에 temp003 이 '3222____144' 라고 되어 있으면 쓰라는 야그.

그러면 % 문자가 들어간 필드값을 쿼리해 올 때는 어떻게 해야 할까..?
escape'%%' ..?
이렇게 하면 대략 난감. 이럴때는 아래와 같이 한다.
temp003 like '%\%%' escape '\'


프로시저에서 사용하거나, Transaction 안에서 활용하는 것이라면..
set escape on; 문을 먼저 실행하도록 해도 된다.
나중에 다시 off 하는 것은 잊지 마시고..