Met ANSI_NULLS OFF
, NULL = NULL
evalueert tot TRUE
.
Met ANSI_NULLS ON
(de standaard), NULL = NULL
evalueert tot NULL
.
NULL IS NULL
evalueert altijd naar TRUE
.
In MySQL kunt u ANSI_NULLS echter niet uitschakelen. U denkt waarschijnlijk aan MS SQL Server.
Toekomstige versies van MS SQL Server bieden geen ondersteuning voor ANSI_NULLS OFF
, dus ik zou het niet gebruiken.
Je moet ANSI_NULLS ON
en gebruik IS NULL
om te evalueren of iets NULL IS.
Als u problemen heeft om te onthouden hoe NULL standaard werkt (ANSI_NULLS AAN), moet u NULL beschouwen als "onbekend ". Als er bijvoorbeeld twee vreemden in de kamer zijn, zijn hun namen NULL. Als uw vraag is:"Zijn hun namen hetzelfde?" Uw antwoord IS NULL.
Laten we nu zeggen dat Bob in de kamer is met slechts één vreemdeling, wiens naam NUL IS. Nogmaals het antwoord op uw vraag "Zijn hun namen hetzelfde?" IS NIETS. Merk op dat als je iets vergelijkt met NULL, je antwoord NULL IS.