프로그래머스/MySQL

[프로그래머스] NULL 처리하기

루바의 여정 2024. 5. 12. 19:53
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제설명

 

예시

 

문제 풀이

SQL에서 사용하는 null 처리 함수를 알아야한다. 위 문제에서는 null일 경우 'No name'으로 변경하여 출력해야한다.

 

Oracle과 MySQL의 null 처리 방식은 서로 다른데 아래와 같다.

 

[MySQL]

IFNULL(A, B) 

 : A가 NULL 이면 B를 반환, NULL이 아니면 A를 반환

 

[Oracle]

NVL(expr1, expr2)

 : expr1의 값이 NULL 인 경우 expr2의 값으로 반환

 

NVL2(expr, expr1, expr2)

 : expr의 값이 NULL이 아니면 expr1의 값을 반환, NULL이면 expr2의 값으로 반환

DECODE(VALUE, IF1, THEN1, IF2, THEN2 ... default_result1)

 : VALUE의 값이 IF1일 경우 THEN1의 값을 반환, VALUE의 값이 IF2인 경우 THEN2의 값을 반환

 

SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name')as NAME, SEX_UPON_INTAKE
from ANIMAL_INS