Null値に関連する関数
1.NVL関数
構文:NVL(expr 1,expr 2)
役割:expr 1がnullでない場合はexpr 1を返し、そうでない場合はexpr 2を返します.
以下の例に示すように
2.NVL 2関数
構文:NVL(expr 1,expr 2,expr 3)
役割:expr 1がnullでない場合、expr 2を返します.そうでない場合、expr 3を返します.
次の例に示します.
3.NULLIF関数
構文:NULLIF(expr 1,expr 2)
作用:2つの式を比較し、等しい場合はnullを返し、そうでない場合は最初の式を返します.
次の例に示します.
4.COALESCE関数
構文:COALESCE(expr 1,expr 2,...,exprn)
COALESCE(式1,式2,…式n)関数はNVL関数への拡張である.COALESCE関数の機能は,最初の空でないパラメータを返すことであり,パラメータ個数は制限されない.
次の例に示します.
構文:NVL(expr 1,expr 2)
役割:expr 1がnullでない場合はexpr 1を返し、そうでない場合はexpr 2を返します.
以下の例に示すように
SELECT NVL(NULL,1) FROM DUAL;-- :1
SELECT NVL(2,1) FROM DUAL;-- :2
2.NVL 2関数
構文:NVL(expr 1,expr 2,expr 3)
役割:expr 1がnullでない場合、expr 2を返します.そうでない場合、expr 3を返します.
次の例に示します.
SELECT NVL2(NULL,1,3) FROM DUAL;-- :3
SELECT NVL2(4,2,1) FROM DUAL;-- :2
3.NULLIF関数
構文:NULLIF(expr 1,expr 2)
作用:2つの式を比較し、等しい場合はnullを返し、そうでない場合は最初の式を返します.
次の例に示します.
SELECT NULLIF(1,1) FROM DUAL;-- :
SELECT NULLIF(4,2) FROM DUAL;-- :4
4.COALESCE関数
構文:COALESCE(expr 1,expr 2,...,exprn)
COALESCE(式1,式2,…式n)関数はNVL関数への拡張である.COALESCE関数の機能は,最初の空でないパラメータを返すことであり,パラメータ個数は制限されない.
次の例に示します.
SELECT COALESCE(NULL,NULL,1,2,3) FROM DUAL;-- :1
SELECT COALESCE(NULL,5,3,9) FROM DUAL;-- :5
SELECT COALESCE(8,1,3,9) FROM DUAL;-- :8