포스팅 목차
o NULLIF
문법
nullif::=
목적
NULLIF는 expr1과 expr2를 비교하는 비교 함수이다. 만약 expr1과 expr2가 같으면 NULL값을 반환하고, expr1과 expr2가 서로 동일하지 않으면 expr1을 반환한다. expr1에 대하여는 NULL을 지정할 수 없다.
만약 양쪽 인수가 수치형이라면, 오라클 데이터 베이스는 더 높은 수치 순위를 가지는 인수를 판단하여, 나머지 인수를 그 데이터형으로 암묵적으로 변환하여 반환한다. 만약 인수가 수치가 아니라면, 두 인수는 같은 데이터형이어야 하며, 그렇지 않은 경우 에러가 발생한다.
NULLIF함수는 다음의 CASE문장과 논리적으로 동등하다.
CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END
참고
관련 함수
함수명 | 함수내용 |
COALESCE | 나열된 인수의 값을 순차적으로 체크하여 NULL이 아닌 첫 번째 인수를 반환한다. |
LNNVL | 조건문의 한쪽 또는 양쪽의 피연산자가 NULL이 존재하는 관측치를 포함하여 조건문을 평가하기 위한 방법을 제공한다. |
NANVL |
만약 n2가 NaN이 아니라면, 오라클은 n2를 반환한다. 만약 입력 값 n2가 Nan(숫치가 아닌)인 경우에 대체 값 n1을 반환하도록 오라클에 지시한다. |
NULLIF |
expr1과 expr2를 비교하는 비교 함수이다. 만약 expr1과 expr2가 같으면 NULL값을 반환하고, expr1과 expr2가 서로 동일하지 않으면 expr1을 반환한다. |
NVL | 쿼리의 결과에서 NULL(공백으로 반환) 값을 치환하는 함수이다. 만약 expr1이 NULL이면 expr2를 반환하고, 만약 expr1이 NULL이 아니면 expr1을 반환한다. |
NVL2 | NVL2함수를 사용하면, 지정한 표현이 NULL인지 여부에 근거하여 쿼리의 반환될 값을 분기하여 처리할 수 있다. |
예제
다음 예제는 샘플 스키마 HR에서 고용된 이후 직종이 변경된 사람을 선택하는데, 현재 job_id와 job_history의 job_id를 비교하여 확인한다.
Oracle Program |
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;
Results |
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
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클(Oracle) SQL 함수】 NUMTOYMINTERVAL 함수 (0) | 2019.01.03 |
---|---|
【오라클(Oracle) SQL 함수】 NUMTODSINTERVAL 함수 (0) | 2019.01.03 |
【오라클(Oracle) SQL 함수】 NTILE 함수 (0) | 2018.12.25 |
[오라클 함수] NLS_UPPER 함수 (0) | 2018.12.25 |
[오라클 함수] NLSSORT 함수 (0) | 2018.12.25 |
댓글