Alasannya <> tidak berfungsi adalah bahwa SQL memperlakukan NULL sebagai tidak diketahui - tidak tahu apa NULL seharusnya berarti, sehingga mengevaluasi keduanya = dan <> pada NULL nilai sebagai UNKNOWN (yang dianggap salah dalam klausa where atau kondisi join). Untuk info lebih lanjut, baca ini:Mengapa NULL =NULL dievaluasi menjadi false di server SQL
.
Jika ada indeks di dalamnya, menggunakan fungsi ISNULL berarti indeks tidak dapat digunakan, jadi untuk memastikan kueri dapat menggunakan indeks cukup gunakan OR :
SELECT *
FROM TableName
WHERE
bit_column_value IS NULL OR bit_column_value = 0