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

☑️ 문제

프로그래머스 59410

☑️ 풀이

첫 번째 시도 (실패)

SELECT ANIMAL_TYPE, NVL(NAME, 'No name'), SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
  • NVL 함수를 이용해서 풀려고 하니 오류가 발생했다.
    • NVLOracle 전용 함수
    • MySQL에서는 사용할 수 없는 함수이다.

두 번째 시도 (성공)

SELECT ANIMAL_TYPE, COALESCE(NAME, 'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
  • COALESCE 함수를 이용하였다.
  • 이름이 null일 경우, No name으로 대체되어 출력된다.

☑️ 문법 정리

COALESCE()

COALESCE(column, default_value)
  • NULL값을 특정 값으로 대체할 때 사용한다.
  • 다수의 인자를 받을 수 있으며, 가장 앞에 있는 NULL이 아닌 값을 반환한다.

© 2021. All rights reserved.

yaejinkong의 블로그