본문 바로가기
Database/Oracle

ORACLE 대소문자 구분없이 검색하는방법 (예제로 설명)

by 나비와꽃기린 2018. 12. 14.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.






기존에 다음과 같은 화면이 있었고

하단에 검색란이 있었다.

다음과 같은 데이터가 있었을때

검색키워드로 검색 시 ‘AWRG’ 를 보내거나, ‘awrg’ 를 보냈을 때는

정확하게 일치하는 (대소문자) 데이터만 검색이 되었다.







-------- 대소문자 구별없이 검색이 될 수 있게 해달라는 고객의 추가요건이 생겼다. ----------

실무에서는 대문자나 소문자를 구별하지 않고 빠르게 검색할 수 있게

편의성을 추구하는 것 같다.

성능은 조금 느려지겠지만 해달라고 하니.......




◆ 기존쿼리(대소문자 구분하여 데이터검색)


- AWRG 키워드로 검색하였을때 AWRG를 포함한 데이터만 검색되고





- 똑같은 단어지만 awrg 키워드로 검색하였을때는 awrg를 포함한 데이터만 검색된다.







다음과 같이 대소문자를 구별하여 정확하게 단어가 일치한 데이터들만 찾아준다.


이 이유는 Oracle에서는 대소문자를 구분하기 때문에

정확히 일치한 값들만 찾아주기 때문이다.





<Oracle 대소문자 구별없이 검색하는 방법



검색키워드 파라미터값과 검색기준이 되는 컬럼을 맞춰줘야 한다.

대문자로 맞추건, 소문자로 맞추건

 

Oracle에서 대문자나 소문자로 변환하는 함수는

UPPER() 또는 LOWER()

UPPER() 는 대문자로 변환하는 함수

LOWER() 는 소문자로 변환하는 함수 를 사용한다.







어떤 함수를 써도 결과는 똑같다.

나는 UPPER()로 적용했고...

다음과 같이 쿼리를 수정하니 검색키워드로 

awrg를 입력하건 AWRG를 입력하건

쿼리수행시 모두 대문자 기준으로 검색이 되기 때문에

대소문자 구별없이 3건이 모두 검색된걸 확인할 수 있었다.



초간단~