Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL не показва нулеви стойности в заявка не е равно?

На няколко езика NULL се обработва по различен начин:Повечето хора знаят за логиката с две стойности, където true и false са единствените сравними стойности в булеви изрази (even is false се дефинира като 0 и true като всичко друго).

В стандартния SQL трябва да мислите за тризначна логика. NULL не се третира като реална стойност, по-скоро бихте могли да го наречете "неизвестна". Така че, ако стойността е неизвестна, не е ясно дали във вашия случай state е 0, 1 или нещо друго. Така че NULL != 1 резултати до NULL отново.

Това заключава, че където и да филтрирате нещо, което може да е NULL, трябва да третирате NULL стойности сами. Имайте предвид, че синтаксисът също е различен:стойностите NULL могат да се сравняват само с x IS NULL вместо x = NULL . Вижте Уикипедия за таблица на истинността, показваща резултатите от логически операции.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORACLE Как да използвам макарата с динамично местоположение на макарата

  2. Схема за обратно инженерство (оракул) към ERD

  3. Как да извика съхранена процедура на Oracle в Python?

  4. Как мога да получа достъп до Oracle от Python?

  5. Ръчно добавяне на нов RAC екземпляр