본문 바로가기
개발/database

[Oracle] programmers - NULL 처리하기

by ujin2021 2021. 8. 5.

문제 : https://programmers.co.kr/learn/courses/30/lessons/59410

 

코딩테스트 연습 - NULL 처리하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

만약 동물의 이름이 NULL이면 No name으로 대체하여 출력한다. 

 

풀이

-- SELECT ANIMAL_TYPE, 
--     CASE WHEN NAME IS NULL THEN 'No name' 
--          ELSE NAME
--     END AS NAME,
--     SEX_UPON_INTAKE
-- FROM ANIMAL_INS
-- ORDER BY ANIMAL_ID;

SELECT ANIMAL_TYPE, NVL(NAME, 'No name'), SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

위의 주석처리된 풀이는 NVL을 모를 때 짰던 쿼리문이다. CASE문을 사용하여 만약 NULL이면 No name으로 대체하도록 했다.

 

NVL을 사용하면 NULL 처리가 가능하다. NVL(컬럼이름, 'null일때 출력할 내용')