프로그래머스
SQL LV.2 중성화 여부 파악하기
[문제]
보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.
[풀이]
1
2
3
4
5
6
7
8
9
10
11
|
SELECT ANIMAL_ID
, NAME
--, SEX_UPON_INTAKE
,
(CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
ELSE 'X'
END) AS "중성화"
--, DECODE(SEX_UPON_INTAKE, 'Neutered', 'O', 'Spayed', 'O', 'X') AS "중성화"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
|
cs |
처음에는 DECODE로 풀려고 했는데 DECODE문에서는 LIKE를 사용할 수 없어서(Neutered Male, Spayed Female)
CASE WHEN문으로 풀었다.
근데 Neuter는 수컷에만 쓰고 Spay는 암컷에만 쓰는 것 같으니.. 그냥 Neutered Male, Spayed Female
이 조건으로 줘도 됐을 듯!
'알고리즘' 카테고리의 다른 글
[ORACLE] 없어진 기록 찾기 (0) | 2020.04.07 |
---|---|
[ORACLE] DATETIME에서 DATE로 형 변환 (0) | 2020.03.10 |
[ORACLE] 이름에 el이 들어가는 동물 찾기 (0) | 2020.03.09 |
[ORACLE] 루시와 엘라 찾기 (0) | 2020.03.09 |
[ORACLE] NULL 처리하기 (0) | 2020.03.09 |