ORA-01476出たのでNVL/NULLIFの確認
Oracle ORA-01476 について
- 0除算なんだけど、NULLIF/NVLの違いが詳しく理解出来てなかったのでメモ
SQL> SELECT 2 / 0 FROM dual; SELECT 2 / 0 FROM dual * 行1でエラーが発生しました。: ORA-01476: 除数がゼロです。
- 分母の除数が0の場合はnullを渡す
SQL> SELECT 2 / NULLIF(0, 0) FROM dual; 2/NULLIF(0,0) -------------
NULLIF
- 第一引数と第二引数が一致した場合にnullを返す
- NVLと同様にnullの場合に0を返すイメージだったが、nullを返すという事で納得