S ANSI_NULLS OFF , NULL = NULL vyhodnotí jako TRUE .
Se ANSI_NULLS ON (výchozí nastavení), NULL = NULL se vyhodnotí jako NULL .
NULL IS NULL se vždy vyhodnotí jako TRUE .
V MySQL však nemůžete vypnout ANSI_NULLS. Pravděpodobně máte na mysli MS SQL Server.
Budoucí verze MS SQL Server nebudou podporovat ANSI_NULLS OFF , takže bych to nepoužil.
Měli byste nechat ANSI_NULLS ON a použijte IS NULL vyhodnotit, zda je něco NULOVÉ.
Pokud máte problémy se zapamatováním toho, jak ve výchozím nastavení funguje NULL (ANSI_NULLS ON), měli byste hodnotu NULL považovat za „neznámé ". Pokud jsou například v místnosti dva cizí lidé, jejich jména jsou NULL. Pokud váš dotaz zní:"Jsou jejich jména stejná?" Vaše odpověď JE NULL.
Nyní řekněme, že Bob je v místnosti pouze s jedním cizincem, jehož jméno je NULL. Opět odpověď na váš dotaz "Jsou jejich jména stejná?" JE NULL. Všimněte si, že pokud něco porovnáte s hodnotou NULL, vaše odpověď JE NULL.