본 포스트는 헷갈리기 쉬운 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 반환해주고, 다르면 앞 값을 반환해줘"
'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 |