728x90
1. 문제
보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.
2. 풀이
case를 이용했다. substring으로 앞 여섯글자를 잘라서 Intact가 아니면 중성화가 완료된 것, 맞다면 중성화가 안 된 것이므로 각각 O, X로 바꿨다.
SELECT ANIMAL_ID, NAME,
(CASE (SUBSTRING(SEX_UPON_INTAKE,1,6) != "Intact")
WHEN TRUE THEN "O"
WHEN FALSE THEN "X"
END) AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
3. 결과
더 아래는 생략했다.
'코딩테스트 > SQL' 카테고리의 다른 글
[SQL] 취소되지 않은 진료예약 조회하기 - MySQL (0) | 2023.02.27 |
---|---|
[SQL] 오프라인/온라인 판매 데이터 통합하기 - MySQL (0) | 2022.10.14 |
[SQL] DATETIME에서 DATE로 형 변환 - MYSQL (0) | 2022.05.06 |
[SQL] 오랜 기간 보호한 동물(2) - MYSQL (0) | 2022.05.06 |
[SQL] 입양 시각 구하기(2) - MYSQL (0) | 2022.05.04 |
댓글