SQL Server 2つの値が等しい場合、nullを返す

SQL Server 2つの値が等しい場合、nullを返す

SQL Serverで、2つの値が等しい場合、nullを返す手順を記述してます。

環境

  • OS windows10 pro
  • SQL server 2019
  • SSMS 18.7.1

比較してnullを返す

引数に指定した2つの変数を比較して等しかったnullを返す場合は、「NULLIF」を使用します。

等しくなかった場合は、第一引数に指定した値が返ります。

NULLIF(値,値)

実際に、使用してみます。

DECLARE @c1 NVARCHAR(20) = 'aaa'
DECLARE @c2 NVARCHAR(20) = 'aaa'

SELECT  NULLIF(@c1,@c2)

実行結果

「@c1」と「@c2」が等しいためnullが返ります。

以下のように等しくない場合は「@c1」が返ります。

DECLARE @c1 NVARCHAR(20) = 'aaa'
DECLARE @c2 NVARCHAR(20) = 'bbb'

SELECT  NULLIF(@c1,@c2)

実行結果