SQL NULL Functions
DatabaseNULL 함수
- NULL
정해지지 않은 값.
미확정, 알 수 없는 (unknown)값.
0(zero), 빈 공간이 아니지만 값은 존재한다.
연산, 할당, 비교가 불가능하다.
연산시 관계 컬럼도 NULL로 바뀐다.
NVL
인수(컬럼 또는 표현식)의 값이 NULL인 경우 0 또는 다른 값으로 변환한다.
두 개의 값은 반드시 데이터 타입이 일치해야 한다.
NVL(인수, 대체값)
SELECT NVL(commission_pct, 0)
FROM employees;
NVL2
인수의 값이 NULL이 아니면 대체값1을 반환하고, NULL이면 대체값2를 반환한다.
NVL2(인수, 대체값1, 대체값2)
SELECT NVL2(commission_pct, 1, 0)
FROM employees;
NULLIF
두 인수가 같으면 NULL을 반환하고, 다르면 첫번째 인수를 반환한다.
NULLIF(인수1, 인수2)
SELECT NULLIF('A', 'A') -- NULL
, NULLIF('A', 'B') -- A
FROM dual;
COALESCE
인수 중에서 NULL이 아닌 첫번째 인수를 반환한다.
COALESCE(인수1, 인수2, ..., 인수n)
인수1이 NULL이 아니면 인수1,
인수1이 NULL이고 인수2가 NULL이 아니면 인수2,
인수n-1까지의 값이 NULL이고, 인수n이 NULL이 아니면 인수n을 반환한다.
SELECT COALESCE(commission_pct, 1, 0)
FROM employees;