NVL 함수는 NULL 값을 다른 값으로 바꿀 때 사용하며, 모든 데이터 타입에 적용이 가능하다.
-- 매니저가 없는 값을 0으로 바꾸어서 출력하는 예제. SELECT empno, NVL(mgr, 0) mgr FROM emp WHERE deptno = 10; EMPNO MGR ------- ------- 7782 7839 7839 0 7934 7782
-- 매니저가 있는경우 1을 없는경우 0을 출력하는 예제이다. SELECT empno, NVL2(mgr, 1, 0) mgr FROM emp WHERE deptno = 10; EMPNO MGR ------- ---------- 7782 1 7839 0 7934 1
-- 아래 문장을 실행해 보자.
SELECT COALESCE(comm,1), comm
FROM emp;
COALESCE(COMM,1) COMM
---------------- ----------
1
300 300
500 500
1
1400 1400
1
1
1
0 0
1
1
- 강좌 URL : http://www.gurubee.net/lecture/1880
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.
NVL은 oracle 함수이고, COALESCE 함수는 ANSI 표준 함수입니다. oracle 만이 아닌 다른 DB도 고려해야하는 실무에서 ANSI 표준을 지키려는 경우가 많습니다 :)
믿거 정식님 글..
ㅜㅡㅜ
NVL이랑 COALESCE 동일한건가요???