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 = NULLyieldsnull, seperti halnya7 <> NULL. Jika perilaku ini tidak sesuai, gunakanIS [ NOT ] DISTINCT FROMkonstruksi: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.