COALESCE / NULLIF
1. COALESCE
(널 처리용)
COALESCE
는 여러 컬럼이나 값을 순서대로 확인해서 NULL이 아닌 첫 번째 값을 반환해.
주로 데이터의 NULL 값을 처리할 때 많이 사용돼.
예시
컬럼 중 하나라도 값이 있으면 반환, 모두 NULL이면 대체 값 출력
SELECT
name,
COALESCE(phone, mobile_phone, '연락처 없음') AS contact
FROM users;
phone
이 NULL이면mobile_phone
을 확인하고, 둘 다 NULL이면'연락처 없음'
을 반환.
결과 예시
name | phone | mobile_phone | contact |
---|---|---|---|
홍길동 | NULL | 010-1234-5678 | 010-1234-5678 |
김영희 | 02-1234-5678 | NULL | 02-1234-5678 |
박철수 | NULL | NULL | 연락처 없음 |
2. NULLIF
(두 값이 같으면 NULL 반환)
NULLIF
는 두 값이 같으면 NULL, 다르면 첫 번째 값을 반환해.
주로 값의 중복을 제거하거나 특정 값을 NULL로 바꿀 때 사용돼.
예시
점수가 0점이면 NULL로 변경하기
SELECT
name,
NULLIF(score, 0) AS updated_score
FROM students;
score
가0
이면 NULL로 바꾸고, 0이 아니면 원래 값을 반환해.
결과 예시
name | score | updated_score |
---|---|---|
홍길동 | 0 | NULL |
김영희 | 85 | 85 |
박철수 | 70 | 70 |
답글 남기기