1. ホーム
  2. sql

[解決済み】NULLで等しくない <> != 演算子

2022-03-25 15:59:56

質問

どなたか、SQLで以下の動作を説明してください。

SELECT * FROM MyTable WHERE MyColumn != NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn <> NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL (568 Results)

解決方法は?

<> は標準SQL-92です。 != がそれに相当します。 どちらも値に対して評価されますが NULL はない --。 NULL は、値がないことを示すプレースホルダーです。

というわけで IS NULL / IS NOT NULL を、そのような状況を表す述語として使用します。

この動作は、SQL Server 固有のものではありません。標準に準拠した全てのSQL方言が同じように動作します。

備考 : 比較するために の値がヌルでない場合 を使用します。 IS NOT NULL と比較するのに対して nullではない の値を使用します。 <> 'YOUR_VALUE' . 私の値がNULLと等しいか等しくないかを言うことはできませんが、私の値がNULLかNOT NULLかを言うことは可能です。私の値がNULL以外かどうかを比較することはできます。