꿈은 데이터분석가, 취미는 계획

[MY SQL] 대소문자 구분 없이 모두 찾는 방법 본문

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