COALESCE 함수 (Oracle SQL)COALESCE 함수는 NULL이 아닌 첫 번째 값을 반환하는 함수입니다.
즉, 여러 개의 값 중에서 NULL이 아닌 가장 앞에 있는 값을 찾을 때 사용합니다.
COALESCE 기본 문법COALESCE(value1, value2, value3, ..., valueN)
NULL이면 NULL을 반환 COALESCE(value1)처럼 단독 사용 불가)COALESCE 함수 예제SELECT COALESCE(NULL, NULL, 'A', 'B') FROM dual;
🔹 결과: 'A'
NULL이므로 'A' 반환 SELECT COALESCE(NULL, 'Hello', 'World') FROM dual;
🔹 결과: 'Hello'
NULL이므로 'Hello' 반환 NULL인 경우SELECT COALESCE(NULL, NULL, NULL) FROM dual;
🔹 결과: NULL
NULL이므로 반환값도 NULL COALESCE를 활용한 컬럼 기본값 설정SELECT employee_id, COALESCE(department, '부서 없음') AS department
FROM employees;
department 값이 NULL이면 '부서 없음'을 반환 SELECT customer_name, COALESCE(phone, email, '연락처 없음') AS contact_info
FROM customers;
phone이 NULL이면 email 사용 email도 NULL이면 '연락처 없음' 반환 COALESCE vs NVL 차이점| 함수 | 설명 | 예제 (COALESCE(NULL, 'A', 'B') vs NVL(NULL, 'A')) |
|---|---|---|
COALESCE(a, b, c, ...) | 여러 개의 값 중 NULL이 아닌 첫 번째 값 반환 | COALESCE(NULL, 'A', 'B') = 'A' |
NVL(a, b) | 첫 번째 값이 NULL이면 두 번째 값 반환 (2개만 비교 가능) | NVL(NULL, 'A') = 'A' |
✅ COALESCE는 여러 개의 값을 확인할 때 유용
✅ NVL은 단순히 두 개의 값 중 하나만 선택할 때 사용
COALESCE(value1, value2, ...) → NULL이 아닌 첫 번째 값 반환 NVL은 2개만 비교 가능) Oracle에서 NULL 처리를 유연하게 하고 싶다면 COALESCE를 적극 활용하세요! 🚀