Mysql
 sql >> Baza danych >  >> RDS >> Mysql

coś o ansi_nulls

Z ANSI_NULLS OFF , NULL = NULL ocenia do TRUE .

Z ANSI_NULLS ON (domyślnie), NULL = NULL ocenia do NULL .

NULL IS NULL zawsze zwraca się do TRUE .

Jednak w MySQL nie można wyłączyć ANSI_NULLS. Prawdopodobnie myślisz o MS SQL Server.

Przyszłe wersje MS SQL Server nie będą obsługiwać ANSI_NULLS OFF , więc nie użyłbym go.

Powinieneś pozostawić ANSI_NULLS ON i użyj IS NULL aby ocenić, czy coś JEST NULL.

Jeśli masz problemy z zapamiętaniem, jak NULL działa domyślnie (ANSI_NULLS ON), powinieneś pomyśleć o NULL jako „nieznane Na przykład, jeśli w pokoju jest dwóch nieznajomych, ich imiona to NULL. Jeśli twoje pytanie brzmi:„Czy ich imiona są takie same?” Twoja odpowiedź to NULL.

Załóżmy teraz, że Bob jest w pokoju z tylko jednym nieznajomym, którego imię JEST NULL. Znowu odpowiedź na twoje pytanie „Czy ich imiona są takie same?” JEST NULL. Zauważ, że jeśli porównasz cokolwiek do NULL, twoja odpowiedź to 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. Jak chronić bazy danych MySQL przed kampaniami ransomware

  2. Nie mogę wyeksportować mojej bazy danych z mysql workbench

  3. MYSQL UPDATE z IN i Subquery

  4. Propozycja struktury tabeli mysql?

  5. Przekazywanie tablicy przez AJAX z php do javascript