Oracle Database 2つの値を比較して同じだった場合はnullを返す

Oracle Database 2つの値を比較して同じだった場合はnullを返す

Oracle Databaseで、2つの値を比較して同じだった場合はnullを返す手順を記述してます。「NULLIF」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

2つの値を比較して同じだった場合はnullを返すには「NULLIF」を使用します。
※値が同じ場合は、左側の値が返ります。

NULLIF( 値,値 )

実際に、比較してみます。
※「DUAL」テーブルはダミーとして使用できるテーブルです。

SELECT 
NULLIF('aaa', 'aaa'),
NULLIF('aaa', 'aba')
FROM DUAL;

実行結果

値が違った場合のみ、「null」が返されていることが確認できます。

数値の場合

数値の比較も可能です。

SELECT 
NULLIF(1, 1),
NULLIF(1.0, 1),
NULLIF(01, 1),
NULLIF('01', '1'),
NULLIF(1, 2)
FROM DUAL;

実行結果