Dengan ANSI_NULLS OFF
, NULL = NULL
mengevaluasi ke TRUE
.
Dengan ANSI_NULLS ON
(default), NULL = NULL
mengevaluasi ke NULL
.
NULL IS NULL
selalu mengevaluasi ke TRUE
.
Namun, di MySQL, Anda tidak dapat menonaktifkan ANSI_NULLS. Anda mungkin berpikir tentang MS SQL Server.
Versi MS SQL Server mendatang tidak akan mendukung ANSI_NULLS OFF
, jadi saya tidak akan menggunakannya.
Anda harus membiarkan ANSI_NULLS ON
dan gunakan IS NULL
untuk mengevaluasi apakah ada sesuatu yang NULL.
Jika Anda mengalami masalah mengingat cara kerja NULL secara default (ANSI_NULLS ON), Anda harus menganggap NULL sebagai "tidak diketahui ". Misalnya, jika ada dua orang asing di ruangan itu, namanya NULL. Jika pertanyaan Anda adalah, "Apakah nama mereka sama?" Jawaban Anda NULL.
Sekarang, katakanlah Bob ada di ruangan hanya dengan satu orang asing, yang namanya NULL. Sekali lagi jawaban untuk pertanyaan Anda "Apakah nama mereka sama?" NULL. Perhatikan bahwa jika Anda membandingkan sesuatu dengan NULL, jawaban Anda adalah NULL.