[프로그래머스][MYSQL][Level 2][59409] 중성화 여부 파악하기

문제 링크

문제링크

정답

1
2
3
4
5
6
7
8
9
10
11
SELECT 
    ANIMAL_ID, 
    NAME,
    CASE WHEN 
        (SEX_UPON_INTAKE LIKE '%Neutered%') OR 
        (SEX_UPON_INTAKE LIKE '%Spayed%') 
    THEN 'O' 
    ELSE 'X' 
    END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

정답 2

1
2
3
4
SELECT  ANIMAL_ID,
        NAME,
        IF(SEX_UPON_INTAKE REGEXP 'Neutered|Spayed', 'O' , 'X') AS 중성화
FROM    ANIMAL_INS

해설

정규 표현식을 읽지 못해도 바보는 아닙니다. 오히려 의미가 명확한 정답 1이 더 좋은 풀이일 수 있습니다. 다만, Case가 너무 많은 경우 Regexp로 매우 간략해진다면 regexp를 사용하고 주석을 달아두어야 합니다.

Success Notice: 수고하셨습니다. :+1:

Leave a comment