NULL이 무엇인가요?
f
firststep 에디터
IT / 자격증 전문 라이터
2026년 2월 21일777
NULL이 무엇인가요?
1) NULL이란?
- DB에서 값이 “없다/모른다/아직 입력 안 됐다”를 뜻하는 특별한 표시입니다.
- 0(숫자 0), 빈문자(''), 공백(' ')과는 다릅니다.
- 0은 “값이 0”
- ''는 “빈 문자열”
- NULL은 “값 자체가 없음(미정/미입력)”
✅ 예시
- 전화번호를 아직 안 적음 → NULL
- 포인트가 0점임 → 0
2) NULL은 “하나의 값처럼” 취급된다
- NULL은 “없는 값”이지만 DB에서는 하나의 상태(값)처럼 다룹니다.
- 그래서 비교/연산에서 특별 규칙이 생깁니다.
3) NULL이 연산에 끼면 결과는 보통 NULL
이미지 핵심 문장: “NULL 값 연산은 언제나 NULL이다”
왜?
- NULL은 “모르는 값”이라 계산 결과도 확정할 수 없기 때문입니다.
예시(총가격 = 가격 × 수량)
| 아이템 | 가격 | 수량 |
| 1 | 100 | 2 |
| 2 | NULL | 3 |
| 3 | 200 | NULL |
| 4 | NULL | NULL |
총가격 = 가격 * 수량을 계산하면
- 1번: 100×2 = 200
- 2번: NULL×3 = NULL
- 3번: 200×NULL = NULL
- 4번: NULL×NULL = NULL
4) NULL을 처리하려면: NVL 함수(오라클)
- NVL(값, 대체값)
- 값이 NULL이면 대체값으로 바꿔서 계산하게 만듭니다.
예시: NULL이면 0으로 바꿔서 총가격 계산
SELECT
아이템ID,
NVL(가격, 0) * NVL(수량, 0) AS 총가격
FROM 아이템테이블;
그러면 결과는
- 가격이나 수량이 NULL이면 0으로 처리 → 총가격이 0이 됨
예시 결과
- 1번: 100×2 = 200
- 2번: 0×3 = 0
- 3번: 200×0 = 0
- 4번: 0×0 = 0
5) 실무 주의점
- 분석에서 무조건 0으로 바꾸면 의미가 왜곡될 수 있습니다.
예: “가격 미입력”을 “가격 0”으로 바꾸면 실제로 무료처럼 보임 - 상황에 따라 평균값/중앙값/별도 상태값으로 처리하는 방식도 씁니다.
초간단 요약
- NULL = 값이 없음/모름/미입력
- 0, 빈문자와 다름
- NULL이 연산에 끼면 결과는 보통 NULL
- 필요하면 NVL로 NULL을 원하는 값(예: 0)으로 바꿔서 계산
f
firststep 에디터 · IT / 자격증 전문 라이터
firststep.kr의 실무 에디터로서 무언가를 처음 도전하는 분들이 헤매지 않도록 검증된 지식과 실습 가이드를 작성합니다.
댓글 0개
댓글을 작성하려면 로그인이 필요합니다
간단한 이메일과 비밀번호로 3초 만에 가입하고 의견을 남겨보세요.
첫 번째 댓글을 남겨보세요!