[Oracle] 대소문자 구분 없이 검색

빵지·2023년 8월 24일

대소문자 구분없이 검색하는 방법!


ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. (생략...) 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요.

단, 이름의 대소문자는 구분하지 않습니다.

ANIMAL_INS
예시


프로그래머스 Oracle 2단계 문제 중 일부인데 알고 있으면 쓸만한 문제가 나왔다ㅎㅎ DB에 varchar형태로 대소문자 구분없이 저장되어 있을때 ,
SELECT ANIMAL_ID , NAME 
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

SELECT ANIMAL_ID , NAME 
FROM ANIMAL_INS
WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

이런식으로 대소문자 변환없이 검색하면 당연히 원하는 결과값이 나오지 않는다🥲

LOWER(컬럼) | UPPER(컬럼)
을 사용하면 대소문자 구분없이 원하는 결과값을 뽑아낼 수 있다!

SELECT ANIMAL_ID , NAME 
FROM ANIMAL_INS
WHERE LOWER(NAME) LIKE LOWER('%EL%') AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

profile
초보에요

0개의 댓글