문법 |
목적 |
NULLIF는 expr1과 expr2를 비교한다.만약 expr1과 expr2가 같으면, NULL값을
반환한다. 만약 expr1과 expr2가 같지 않으면, expr1을 반환한다. expr1에 대하여는 NULL을 지정할수 없다.
만약 양쪽 인수가 수치형이라면, 오라클 데이터 베이스는 더 높은 수치 순위를 가지는 인수를
판단하여, 나머지 인수를 그 데이터형으로 암묵적으로 변환하여 반환한다. 만약 인수가 수치가 아니라면, 두 인수는 같은 데이터형이여야 하며,
그렇지 않은 경우 에러가 발생한다.
NULLIF함수는 다음의 CASE문장과 논리적으로 동등하다.
CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END
예제 |
다음 예제는 샘플 스키마 HR에서 고용된 이후 직종이 변경된 사람을 선택하는데, 현재 job_id와
job_history의 job_id를 비교하여 확인한다.
SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name; LAST_NAME Old Job ID ------------------------- ---------- De Haan AD_VP Hartstein MK_MAN Kaufling ST_MAN Kochhar AD_VP Kochhar AD_VP Raphaely PU_MAN Taylor SA_REP Taylor Whalen AD_ASST Whalen