NULL 관련 함수
NVL( 인자1, 인자2 ) | 인자1이 NULL 이면, 인자2를 반환하는 함수 |
NVL2( 인자1, 인자2, 인자3 ) | 인자1이 NULL이 아니면 인자2, NULL 이면 인자3을 반환하는 함수 |
COALESCE( 인자1, 인자2, ... ) | 인자들 중 NULL 이 아닌 첫번째 값을 반환하는 함수
ex) 인자1 : NULL, 인자2 : NULL, 인자3 : (값)
출력 : 인자3 |
LNNVL(조건식) | 조건식의 결과가
i) TRUE --> FALSE,
ii) NULL, FALSE --> TRUE 로 변환하는 함수 |
NULLIF( 인자1, 인자2 ) | 인자1과 인자2가 같으면 NULL
인자1과 인자2가 다르면 인자1을 반환하는 함수 |
HR 스키마 실습코드
COALESCE()
SELECT employee_id 사원번호
,first_name 이름
,COALESCE( salary + (salary * commission_pct), salary, 0 ) 최종급여
,commission_pct
FROM employees;
SQL
복사
LNNVL(조건식)
SELECT employee_id, commission_pct
FROM employees
WHERE LNNVL(commission_pct >= 0.2);
SQL
복사
SELECT employee_id, commission_pct
FROM employees
WHERE NVL(commission_pct, 0) < 0.2;
SQL
복사
SELECT employee_id, commission_pct
FROM employees
WHERE commission_pct < 0.2;
SQL
복사
NULLIF()
SELECT employee_id
,TO_CHAR(start_date, 'YYYY') start_year
,TO_CHAR(end_date, 'YYYY') end_year
,NULLIF(TO_CHAR(end_date, 'YYYY'), TO_CHAR(start_date, 'YYYY')) nullif_year
FROM job_history;
SQL
복사




