NULLIF 함수는 인자로 지정된 두 개의 연산식이 동일하면 NULL을 반환하고, 다르면 첫 번째 인자 값을 반환한다.
NULLIF(expr1, expr2)
result :
expr1 | NULL
NULLIF(a, b)는 다음의 CASE 문장과 같은 의미를 가진다.
CASE
WHEN a = b THEN NULL
ELSE a
END
SELECT * FROM case_tbl;
=== <Result of SELECT Command in Line 1> ===
a
=============
1
2
3
NULL
--returning NULL value when a is 1
SELECT a, NULLIF(a, 1) FROM case_tbl;
=== <Result of SELECT Command in Line 1> ===
a nullif(a, 1)
===========================
1 NULL
2 2
3 3
NULL NULL
--returning NULL value when arguments are same
SELECT NULLIF (1, 1.000) FROM db_root;
=== <Result of SELECT Command in Line 1> ===
nullif(1, 1.000)
======================
NULL
--returning the first value when arguments are not same
SELECT NULLIF ('A', 'a') FROM db_root;
=== <Result of SELECT Command in Line 1> ===
nullif('A', 'a')
======================
'A'