본문 바로가기

IT관련

오라클 SQL문에서 like 문 처리 샘플 ( %, _ )

Oracle DB에서 SQL문 만들때 like 문 처리하는 샘플입니다.

 

Wild Character "%" 를 사용해서 조회합니다. 

 

 

'노%'는 '노' 글자로 시작하는 모든 데이터를 조회합니다. '붉은노을' 은 처음에 '노' 로 시작하지 않기 때문에 안나옵니다.

이것도 나오게 할려면 앞뒤로 % 를 붙여 줍니다.

 

 

% 는 뒤에 나오는 모든 길이의 문자를 대체하는 Wild Character 입니다.

한 글자만 대체하고자 하는 경우에는 "_" (밑줄) 문자를 사용합니다.

 

 

만약에 "노%을" 데이터만 조회하고자 하는 경우는?

%가 이미 데이터내에 사용된 캐릭터인데, 이때는 escape 키워드를 사용해서 이게 Wild Character 가 아닌 것을 표시해주면 됩니다.

 

 

 

like 문 쓸때 가장 주의할 부분이 앞뒤로 % 가 들어있는 경우입니다.

     ex) where A like '%노을%'

 

%가 뒤에 있는 경우는 크게 문제가 되지 않는데, 앞에 %가 있는 경우는 인덱스를 타지 못합니다.

따라서 데이터가 많은 경우에는 엄청 느리게 동작합니다.

 

이런 경우, 빠르게 할 수 있는 방법은 Oracle Text 라는 기능을 이용하는 것입니다.

 

참고 >> Oracle Text (오라클 텍스트) - "like" SQL문 빠르게 하는 방법