SQL/SQL문풀
[MY SQL] 대소문자 구분 없이 모두 찾는 방법
data_2080
2024. 1. 3. 07:00
728x90
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 이름에 el이 들어가는 동물 찾기
링크: https://school.programmers.co.kr/learn/courses/30/lessons/59047
문제(일부): 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회,
이름의 대소문자는 구분하지 않습니다. (결과는 이름순)
1. OR로 대/소문자 조건 각각 넣어주기
이름의 대소문자 구별을 위해 'EL'과 'el'에 LIKE 사용
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'DOG'
AND (NAME LIKE '%el%' OR NAME LIKE '%EL%')
ORDER BY NAME
2. LOWER OR UPPER를 사용하여 한 번에 쓰기
LOWER(컬럼명) LIKE ' 소문자 ' / UPPER(컬럼명) LIKE ' 대문자 '
해당 컬럼을 대문자 or 소문자로 변경하여 대소문자 관계없이 찾을 수 있음
* WHERE에서 사용하므로 출력되는 형태에는 변경이 없음
SELECT ANIMAL_ID
,NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'DOG'
AND LOWER(NAME) LIKE '%el%'
ORDER BY NAME
728x90