Study/SQL
[MySQL] IFNULL과 NULLIF의 차이
ngool
2024. 9. 2. 13:53
본 포스트는 헷갈리기 쉬운 SQL 함수인 IFNULL과 NULLIF의 기능에 대해 정리한 것입니다.
제가 자주 헷갈리는 개념인데요, 오늘부터는 헷갈리지 않으리라.. 다짐하는 마음에서 포스팅해봅니다.
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 반환해주고, 다르면 앞 값을 반환해줘"