2016.01.29 システム
NVL関数の代替を調べてみる。
お久しぶりです、エンジニアの阿久津です。
今回はOracleにて使われている「NVL関数」ですが、 他のDBMSではどのような関数が代替として使われているのかを調べてみました。
そもそも、NVL関数というのは [Null Value Logic]の略で、 比較対象がNULLであった場合の処理をする際に使います。
↓実際に流してみるとこんな形。
SQL : SELECT NVL(null,”Order_Word’) FROM DUAL
結果 : Order_Word
参照先(この例ではnull)がnullであった場合には指定した文字列が返ります。
さて、そんな意味を持つNVLですが、すべてのDBMSで使うことはできません。
それぞれのDBMSごとに対応した関数を使う必要があります。
↓対応する関数を表でまとめたものがこちら
例えば、PostgreSQLで同じ操作をするには、NVLではなくCOALESCEを使います。
同じ機能なら統一して欲しいですよねぇ・・・。
皆さんも、いつもと違うDBMSを使う際にはお気をつけください。