NULL 不等式が三項論理で論理的に動作する理由
データベース管理システムでは、値を比較するときに無効の概念が重要です。従来のアプローチでは、NULL 許容フィールド間の等価性をテストするには、等価性チェックと IS NULL チェックの間で OR 条件を使用する必要があります。しかし、不等式に関しては、単純な不等式演算子で十分であることがわかり、驚くべきです。
null を含む不等式の不可解な動作は、未知の値に適用される基礎となる 3 項ロジックに由来しています。このコンテキストでは、null は未知の状態を表し、2 つの未知の値を相互に比較すると、未知の結果が得られます。
次のシナリオを考えてみましょう。
A = null B = null
「A は等しくない」と尋ねると、 to B?」の場合、2 つの未知数が実際に異なるかどうかを判断できないため、三値論理では答えは未知である必要があります。これがまさに、不等号演算子 (AB) が FALSE を返す理由です。
対照的に、(A=B) を使用して A と B の間の等価性をチェックすると、2 つの未知の値は考慮できないため、FALSE が返されます。等しい。この動作は、データベース比較における三項論理の一貫した適用を強調しています。
したがって、比較されるいずれかの値が null になる可能性がある場合、不等価性をテストするには単純な不等号演算子で十分です。 IS NOT NULL を使用した無効性の明示的なチェックは必要ありません。これは、不等式が null 許容値の不明な状態を考慮し、それに応じて FALSE を返すためです。
以上がNULL 値による不等式がデータベースで論理的に機能するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。