like검색을 할때 %가 들어가 있는 문자열을 검색할 경우가 있습니다.
예를 들면 " 우리의 이번달 수출 실적은 16% 성장했다"
이와 같이 있는 문자열을 like검색을 할때 '16%'로 검색을 했다면
쿼리문은 like %16%% 이렇게 될건데..
이러가 나지 않나요?
with t1(c1) as (values
('kkkkkkkk16%kkkkkkkkkkkk'),
('kkkkkkkk15%kkkkkkkkkkkk') )
select * from t1 where c1 like '%16%%'
C1 -----------------------kkkkkkkk16%kkkkkkkkkkkk
1 레코드가 선택됨.
like 다음에 오는 패턴 표현에서 '_'이나 '%' 문자를 포함해야할 경우 escape 표현을 사용하여 패턴에서 '_'이나 '%' 문자앞에 오는 문자를 지정할수 있습니다.
1)
with test1(col1) as (values 'AAA16%AAA','AAA16AAA')SELECT * FROM TEST1 WHERE COL1 LIKE '%16%%'
COL1---------AAA16%AAAAAA16AAA
2 레코드가 선택됨.
2) '+'문자를 escape 문자로 사용like 술어 다음에 ESCAPE '+' 를 사용한다.다른 문자를 지정할수도 있습니다.
with test1(col1) as (values 'AAA16%AAA','AAA16AAA')SELECT * FROM TEST1 WHERE COL1 LIKE '%16+%%' ESCAPE '+'
COL1---------AAA16%AAA
아..그렇군요..고맙습니다.~