LIKE는 기본적으로 대소문자를 구분하지 않고 비교를 수행하나, 이는 사용중인 정렬 규칙에 따라 달라진다.
e.g. utf8_general_ci에서 ci는 "case insensitive"를 의미하여 대소문자를 구분하지 않는 정렬을 나타냄
1. 오답
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME COLLATE utf8_bin LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
2. 정답
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME COLLATE utf8_general_ci LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
프로그래머스 환경에서는 기본적으로 구분하지 않으나, 고려하여 작성하는게 좋을 것 같다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE LOWER(name) LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
'[프로그래머스] SQL > 정답 노트' 카테고리의 다른 글
[lv3] 조건별로 분류하여 주문상태 출력하기 (0) | 2024.10.18 |
---|---|
[lv4] 우유와 요거트가 담긴 장바구니 (0) | 2024.10.18 |
[lv3] 대장균의 크기에 따라 분류하기 1 (0) | 2024.10.18 |
[lv3] 대장균들의 자식의 수 구하기 (0) | 2024.10.18 |
[lv2] 특정 물고기를 잡은 총 수 구하기 (0) | 2024.10.18 |