Setiap RDBMS setengah jalan yang layak melakukannya dengan cara yang sama, karena benar .
Saya mengutip manual Postgres di sini:
Operator perbandingan biasa menghasilkan null (menandakan "tidak diketahui"), tidak benar atau salah, ketika salah satu inputnya nol. Misalnya,
7 = NULL
yieldsnull, seperti halnya7 <> NULL
. Jika perilaku ini tidak sesuai, gunakanIS [ NOT ] DISTINCT FROM
konstruksi:expression IS DISTINCT FROM expression expression IS NOT DISTINCT FROM expression
Perhatikan bahwa ekspresi ini bekerja sedikit lebih lambat daripada expression <> expression
sederhana perbandingan.
Untuk boolean
nilai ada juga yang lebih sederhana IS NOT [TRUE | FALSE]
.
Untuk mendapatkan apa yang Anda harapkan dalam kueri kedua, tulis:
SELECT * FROM table WHERE avalue IS NOT TRUE;
SQL Fiddle.