서울, 부산에서 온 어떤 직원이 어느 street 에 사는지 알고 싶은데 검색시에 "street" 은 들어가는데 " street" 은 들어가면 안되거든요. street 검색 했을때 Street 이나 sTreet 이렇게 쓰여진거 대소문자 구별 없이 검색은 되는데 " street" 처럼 street 앞에 띄어쓰기 된 곳은 검색 안되게 하는 방법이 뭐가 있나요? 예를들면
where street like '%street%' 이렇게 하면 대소문자 구별없이 street 만 들어가면 검색이 다 되는거 같은데 맞나요? 그리고 street 앞에 space 있으면 검색에서 제외시키는 법 알고싶어요 ㅜ
WITH TEXT_LIST AS (SELECT 'AAA BBB' TEXT FROM DUAL UNION ALL SELECT 'AAABBB' FROM DUAL ) SELECT A.* FROM A A WHERE TEXT LIKE '%BBB%' AND SUBSTRB(TEXT,INSTRB(TEXT,'BBB')-1,1) <> ' ';
'%BBB%' 하면 대문자 BBB 가 포함된 문자열만 검색됩니다. 대소문자 구분없이 검색이 되게 하시려면
upper or lower를 이용하셔야하는데 인덱스 구성 컬럼을 변환하여 검색할 경우 인덱스를 타지않을 수 있으니 참고하세요