Oracle DB에서 SQL문 만들때 like 문 처리하는 샘플입니다.
Wild Character "%" 를 사용해서 조회합니다.
'노%'는 '노' 글자로 시작하는 모든 데이터를 조회합니다. '붉은노을' 은 처음에 '노' 로 시작하지 않기 때문에 안나옵니다.
이것도 나오게 할려면 앞뒤로 % 를 붙여 줍니다.
% 는 뒤에 나오는 모든 길이의 문자를 대체하는 Wild Character 입니다.
한 글자만 대체하고자 하는 경우에는 "_" (밑줄) 문자를 사용합니다.
만약에 "노%을" 데이터만 조회하고자 하는 경우는?
%가 이미 데이터내에 사용된 캐릭터인데, 이때는 escape 키워드를 사용해서 이게 Wild Character 가 아닌 것을 표시해주면 됩니다.
like 문 쓸때 가장 주의할 부분이 앞뒤로 % 가 들어있는 경우입니다.
ex) where A like '%노을%'
%가 뒤에 있는 경우는 크게 문제가 되지 않는데, 앞에 %가 있는 경우는 인덱스를 타지 못합니다.
따라서 데이터가 많은 경우에는 엄청 느리게 동작합니다.
이런 경우, 빠르게 할 수 있는 방법은 Oracle Text 라는 기능을 이용하는 것입니다.
참고 >> Oracle Text (오라클 텍스트) - "like" SQL문 빠르게 하는 방법
'IT관련' 카테고리의 다른 글
Oracle Text (오라클 텍스트) - Text Index 관리할때 주의사항 (0) | 2019.12.18 |
---|---|
Oracle Text 인덱스 생성/삭제시 Error ORA-29855, ORA-20000, DRG-50857, DRG-10502, DRG-10507 (0) | 2019.12.18 |
Oracle Text (오라클 텍스트) - "like" SQL문 빠르게 하는 방법 (2) | 2019.12.13 |
오라클 PK(Primary Key), FK(Foreign Key) 예제 (0) | 2019.12.12 |
(12cR1 신기능) 오라클 Scalar Subquery Unnesting (_optimizer_unnest_scalar_sq) (0) | 2019.12.11 |