Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL tidak menampilkan nilai nol pada kueri yang tidak sama?

Dalam beberapa bahasa NULL ditangani secara berbeda:Kebanyakan orang tahu tentang logika dua nilai di mana true dan false adalah satu-satunya nilai yang sebanding dalam ekspresi boolean (bahkan salah didefinisikan sebagai 0 dan benar seperti yang lainnya).

Dalam SQL Standar Anda harus memikirkan logika tiga nilai. NULL tidak diperlakukan sebagai nilai sebenarnya, Anda bisa menyebutnya "tidak diketahui". Jadi jika nilainya tidak diketahui, tidak jelas apakah dalam kasus Anda state adalah 0, 1, atau apa pun. Jadi NULL != 1 hasil menjadi NULL lagi.

Ini menyimpulkan bahwa di mana pun Anda memfilter sesuatu yang mungkin NULL, Anda harus memperlakukan nilai NULL sendiri. Perhatikan bahwa sintaksnya juga berbeda:Nilai NULL hanya dapat dibandingkan dengan x IS NULL bukannya x = NULL . Lihat Wikipedia untuk tabel kebenaran yang menunjukkan hasil operasi logika.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. InMemory DUPLICATE Kebingungan di Oracle RAC

  2. Apa itu catatan PLSQL di Oracle

  3. Bagaimana cara menghapus Mesin Virtual dari VirtualBox

  4. Solusi untuk ORA-00997:penggunaan tipe data PANJANG secara ilegal

  5. 2 Cara Memformat Hasil Kueri Anda di SQLcl (Oracle)