Oracle Magazine을 보다가 필요할것 같아 발췌했습니다...
9i에 개로 적용된 겁니다...
------------------------
NULLIF 함수
NULLIF 함수의 경우 첫 번째 입력 인자와 두 번째 입력 인자가 같은 경우에는 NULL을 반환하고, 그렇지 않을 경우에는 첫 번째 입력 인자의 값을 반환한다. 예를 들어, EMP 테이블의 사원 중에 Sal 열의 값이 5000인 사람에 대해 NULLIF 함수를 적용하는 SQL 문은 다음과 같다.
SQL> SELECT ename, sal
2 FROM emp
3 WHERE NULLIF(sal, 5000) IS NULL;
만약 NULLIF 함수를 CASE 문으로 나타낸다면 다음과 같다.
CASE
WHEN expression1 = expression2 THEN NULL
ELSE expression1
END CASE
---------------------------------
COALESCE 함수
COALESCE 함수는 Oracle의 NVL 함수를 일반화한 것이다. 즉, 첫 번째 입력 인자가 Null이 아닐 경우에는 첫 번째 입력 인자를 반환하고, 아닐 경우에는 두 번째 표현식에 대해서 평가를 계속하게 된다. 예를 들어, EMP 테이블에서 COMM 열의 값이 Null인지 검사하는 SQL 문은 다음과 같다.
SQL> SELECT ename, COALESCE(comm,'NULL')
2 FROM emp;
NULLIF 함수와 유사하게 CASE 문으로 나타내면 다음과 같다.
CASE
WHEN expression1 IS NOT NULL THEN expression1
ELSE expression2
END CASE;
NVL 함수에 비해 COALESCE 함수의 장점은 여러 대체 값을 취할 수 있다는 것이다. 예를 들어, 첫 번째 입력 인자가 Null일 경우에는 나머지 표현식에 대해서 COALESCE를 계속 적용하는 것이 가능하다.
|