値を比較して等しい場合に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」の使い方です。
ぜひ参考にしてみてください。