いくつかの言語では、NULLの処理方法が異なります。ほとんどの人は、true
である2値論理について知っています。 およびfalse
ブール式で比較可能な唯一の値です(falseでも0として定義され、trueと定義されます)。
標準SQLでは、3値論理について考える必要があります。 NULLは実際の値として扱われません。むしろ、「不明」と呼ぶことができます。したがって、値が不明な場合、state
の場合は明確ではありません。 0、1、またはその他です。したがって、NULL != 1
結果はNULL
もう一度。
これは、NULLである可能性のあるものをフィルタリングする場合は常に、NULL値を自分で処理する必要があると結論付けています。構文も異なることに注意してください。NULL値はx IS NULL
とのみ比較できます。 x = NULL
の代わりに 。論理演算の結果を示す真理値表については、ウィキペディアを参照してください。