値を比較して等しい場合にNULLを取得
2つの値を比較して等しい場合のみNULLを取得するには、NULLIF関数を使用します。
なお、2つの値が等しくない場合は第1引数に指定した値を返します。
NULLIF(値1, 値2)
それではサンプルを見てみましょう。
以下のようなnumberテーブルがあります。
num1 | num2 |
---|---|
100 | 100 |
200 | 100 |
num1列とnum2列の値が等しい場合、NULLを返すSQLです。
1 |
SELECT NULLIF(num1, num2) FROM number; |
上記を実行し、抽出された結果がこちらです。
NULLIF(num1, num2) |
---|
null |
200 |
num1列とnum2列が同じ場合のみNULLが取得できています。
また、等しくない場合は第1引数に指定した値を返しているのもわかります。
以上が、2つの値を比較して等しい場合のみNULLを取得する関数「NULLIF」の使い方です。
ぜひ参考にしてみてください。