Oracle DB の NVL() と NVL2() の違い

Oracle には NVL()NVL2() という2つの関数があったので、違いを見てみた。

SELECT
  NVL(NULL, 'NULL!'),
  NVL2(NULL, 'NOT NULL!', 'NULL!')
FROM DUAL;