본문 바로가기
Study/SQL

[MySQL] IFNULL과 NULLIF의 차이

by ngool 2024. 9. 2.

본 포스트는 헷갈리기 쉬운 SQL 함수인 IFNULLNULLIF의 기능에 대해 정리한 것입니다.

 

제가 자주 헷갈리는 개념인데요, 오늘부터는 헷갈리지 않으리라.. 다짐하는 마음에서 포스팅해봅니다.


IFNULL

  • 기능
    • 첫 번째 인자가 NULL일 경우, 두 번째 인자 반환
    • 첫 번째 인자가 NULL이 아닐 경우, 첫 번째 인자 그대로 반환
  • 용도
    • NULL 값을 대체할 기본값을 제공하고 싶을 때 사용
  • 예시
SELECT IFNULL(NULL, '대체 값');  -- 결과: '대체 값'
SELECT IFNULL('Hello', '대체 값');  -- 결과: 'Hello'

 


NULLIF

  • 기능
    • 두 인자가 같으면 NULL 반환
    • 두 인자가 다르면 첫 번째 인자 반환
  • 용도
    • 두 값이 같은지 확인하고, 같을 경우 NULL로 취급하여 처리를 하고 싶을 때 사용
  • 예시
SELECT NULLIF(10, 10);  -- 결과: NULL
SELECT NULLIF(10, 20);  -- 결과: 10

요약

  • IFNULL: "앞 값이 NULL이면 뒷 값으로 바꿔줘"
  • NULLIF: "앞 값이랑 뒷 값이랑 똑같으면 NULL 반환해주고, 다르면 앞 값을 반환해줘"

'Study > SQL' 카테고리의 다른 글

[MySQL] SUBSTR 함수에 대하여  (0) 2024.11.05
[MySQL] 세션 변수 (@)  (0) 2024.10.23
[MySQL] CASE문 (CASE WHEN THEN END)  (0) 2024.10.10
[MySQL] UNION과 UNION ALL의 차이  (1) 2024.09.04