ANSI_NULLS OFFを使用 、NULL = NULL TRUEに評価されます 。
ANSI_NULLS ONを使用 (デフォルト)、NULL = NULL NULLに評価されます 。
NULL IS NULL 常にTRUEに評価されます 。
ただし、MySQLでは、ANSI_NULLSをオフにすることはできません。おそらくMSSQLServerについて考えているでしょう。
MS SQL Serverの将来のバージョンは、ANSI_NULLS OFFをサポートしません。 、だから私はそれを使いません。
ANSI_NULLS ONのままにしておく必要があります IS NULLを使用します 何かがNULLかどうかを評価します。
NULLがデフォルトでどのように機能するか(ANSI_NULLS ON)を思い出せない場合は、NULLを「不明」と考える必要があります。 "。たとえば、部屋に2人の見知らぬ人がいる場合、彼らの名前はNULLです。クエリが「彼らの名前は同じですか?」の場合、あなたの答えはNULLです。
ここで、ボブが名前がNULLの見知らぬ人が1人だけいる部屋にいるとしましょう。繰り返しますが、「名前は同じですか?」という質問に対する答えです。無効である。何かをNULLと比較すると、答えはNULLであることに注意してください。