Contents
see List작성일 2015. 04. 29.
Oracle NVL, NVL2 함수 - NULL 처리
Oracle에서 NULL 값을 다른 값으로 대체하는 함수들입니다.
NVL 함수
-- 기본 문법: NVL(값, 대체값)
-- 값이 NULL이면 대체값 반환
SELECT NVL(email, "없음") FROM users;
SELECT NVL(salary, 0) FROM employees;
SELECT NVL(nickname, name) FROM users;NVL2 함수
-- 기본 문법: NVL2(값, NULL이_아닐때, NULL일때)
SELECT NVL2(email, "등록됨", "미등록") FROM users;
SELECT NVL2(bonus, salary + bonus, salary) FROM employees;COALESCE 함수 (표준 SQL)
-- 여러 값 중 첫 번째 NOT NULL 반환
SELECT COALESCE(mobile, phone, email, "연락처없음") FROM users;NULLIF 함수
-- 두 값이 같으면 NULL 반환
SELECT NULLIF(status, "N/A") FROM data;
-- status가 "N/A"면 NULL, 아니면 status 값실전 예시
-- 급여 계산 (수당이 NULL일 수 있음)
SELECT name,
salary,
NVL(bonus, 0) as bonus,
salary + NVL(bonus, 0) as total
FROM employees;
-- 상태 표시
SELECT name,
NVL2(resign_date, "퇴사", "재직중") as status
FROM employees;
-- 우선순위 연락처
SELECT name,
COALESCE(mobile, office_phone, home_phone) as contact
FROM employees;비교
| 함수 | 용도 |
|---|---|
| NVL | NULL을 기본값으로 대체 |
| NVL2 | NULL 여부에 따라 다른 값 |
| COALESCE | 여러 값 중 첫 번째 NOT NULL |
| NULLIF | 특정 값을 NULL로 변환 |
database
| No | 작성일 | Title |
|---|---|---|
| 3380 | 2026. 08. 20. | PostgreSQL 느린 조회를 진단하는 방법: EXPLAIN ANALYZE와 복합 인덱스 실전 가이드 |
| 3348 | 2026. 08. 11. | PostgreSQL 잠금 대기 줄이기: 트랜잭션 범위와 lock_timeout 설정 실전 가이드 |
| 3316 | 2026. 08. 03. | PostgreSQL 백업 복구 실전 가이드: pg_dump·pg_restore로 장애 복구 절차 만들기 |
| 3284 | 2026. 07. 26. | PostgreSQL 인덱스가 있는데도 느린 쿼리 해결하기: EXPLAIN ANALYZE와 복합 인덱스 설계 |
| 3254 | 2026. 07. 18. | PostgreSQL 잠금 대기 진단 가이드: pg_stat_activity로 블로킹 쿼리 찾고 장애 줄이기 |
| 3202 | 2026. 07. 09. | PostgreSQL 백업 복구 검증 가이드: pg_dump와 psql로 실제 복원까지 확인하기 |
| 3170 | 2026. 07. 01. | MySQL 느린 쿼리 원인 찾기: EXPLAIN과 복합 인덱스 점검 가이드 |
| 3116 | 2026. 06. 23. | PostgreSQL 트랜잭션 충돌 줄이기: 잠금 순서와 짧은 재시도로 데드락 대응하기 |
| 3058 | 2026. 06. 15. | PostgreSQL JSONB 조회 튜닝: GIN 인덱스와 생성 컬럼으로 느린 검색 줄이기 |
| 2971 | 2026. 06. 07. | MySQL/MariaDB 복합 인덱스 설계: 느린 목록 조회를 줄이는 WHERE·ORDER BY 점검법 |