NULLIF
を使用すると、データ内の特定の値を NULL に選択的に置き換えることができます。これは、特定の値が欠損データまたは無効なデータを表し、それらをさらに分析または処理するために明示的に NULL としてマークする必要がある場合に便利です。
使用例
[Discount] フィールドの -1 を NULL に置き換えます。
構文
NULLIF( input_expression, expression_to_match )
パラメータ
input_expression
評価する式です。input_expression
には任意の有効な式を使用できます。
expression_to_match
NULLIF
は、
expression_to_match
と input_expression
を比較します。この 2 つの値が等しい場合、NULLIF
は null を返し、そうでない場合は
input_expression
を返します。expression_to_match
には任意の有効な式を使用できます。
例
顧客の注文に適用した平均割引額を計算するアプリケーションで、「割引なし」が -1 と表されるため、数式 AVG(Discount)
で -1 がカウントされて間違った結果が返されます。こうした事態は、-1 を NULL に変換すれば回避できます。それには、たとえば Discount With Nulls といった新しいフィールドを作成します。
NULLIF(
Discount
, -1)
この数式は、「Discount フィールドが null の場合は -1 を返し、そうでない場合は Discount を返す」という意味になります。
そうすれば、割引なしの注文を無視して平均割引額を計算できます。
AVG(
Discount With Nulls
)