Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

IS NULL versus <> 1 SQL bit

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jalankan sp_msforeachdb dalam aplikasi Java

  2. Keanggotaan SHA1 hash tidak sama untuk semua pengguna

  3. buat partisi berdasarkan perbedaan antara indeks baris berikutnya di sql server 2012

  4. Sesi dan Status Aktif SQL Server

  5. DateDiff dari 2 tanggal di kolom yang sama SQL