NULLIF スカラー関数

NULLIF 関数は、2 つの引数が等しい場合に NULL 値を 戻します。等しくない場合は、最初の引数の値を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするNULLIF( 式, 式)

スキーマは SYSIBM です。

2 つの引数は互換性がなければなりません。 引数は、組み込みデータ・タイプまたはユーザー定義の特殊タイプのどちらかにすることができます。 いずれの引数も BLOB、CLOB、DBCLOB、または XML にすることはできません。 文字ストリング引数およびグラフィック・ストリング引数は、日時値と互換性があります。 互換性に関する詳細については、 表1の互換性マトリックスを参照してください。

文字ストリングまたはグラフィック・ストリングと数値の引数が混在している場合、ストリング値は暗黙的に DECFLOAT(34) 値にキャストされます。

結果の 属性は最初の引数の属性です。

代替構文:
NULLIF(e1,e2) を使用した結果は、CASE 式を使用した場合と同じです。
   CASE WHEN e1=e2 THEN NULL ELSE e1 END

一方または両方の引数が NULL のために e1=e2 が不明の場合は、CASE 式は評価が真ではないと見なします。 この場合は、NULLIF は最初の引数の値を 戻します。

例 1:
ホスト変数 PROFITCASH、および LOSSES の 10 進データ・タイプの値がそれぞれ 4500.00、500.00、および 5000.00 であるとします。 以下の関数は NULL 値を戻します。
   NULLIF (:PROFIT + :CASH , :LOSSES)