すべて 中途半端なRDBMSも同じように機能します。これは、正しいからです。 。
ここでPostgresのマニュアルを引用しています:
通常の比較演算子は、いずれかの入力がnullの場合、null( "unknown"を意味する)、nottrueまたはfalseを生成します。たとえば、
7 = NULL7 <> NULLと同様に、yieldsnull 。この動作が適切でない場合は、IS [ NOT ] DISTINCT FROMを使用してください 構成:expression IS DISTINCT FROM expression expression IS NOT DISTINCT FROM expression
これらの式の実行は、単純なexpression <> expressionよりも少し遅いことに注意してください。 比較。
booleanの場合 値は、より単純なIS NOT [TRUE | FALSE] 。
2番目のクエリで期待したものを取得するには、次のように記述します。
SELECT * FROM table WHERE avalue IS NOT TRUE; SQLフィドル。