Rumah > pangkalan data > tutorial mysql > Mengapa Operator '!=' dan '<>' Gagal Membandingkan dengan NULL dalam SQL?

Mengapa Operator '!=' dan '<>' Gagal Membandingkan dengan NULL dalam SQL?

DDD
Lepaskan: 2025-01-21 14:57:14
asal
830 orang telah melayarinya

Why Do " Operator Gagal Membandingkan dengan NULL dalam SQL? " />

Memahami Perbandingan NULL dalam SQL

SQL menggunakan "!=" dan "<>" untuk pemeriksaan ketidaksamaan. Walau bagaimanapun, pengendali ini berkelakuan di luar jangkaan dengan nilai NULL.

Isunya:

Pertimbangkan pertanyaan SQL ini:

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn != NULL;
SELECT * FROM MyTable WHERE MyColumn <> NULL;
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL;</code>
Salin selepas log masuk

Dua pertanyaan pertama mengembalikan set hasil kosong, manakala pertanyaan ketiga mengembalikan 568 baris dengan betul. Mengapakah percanggahan ini?

Penjelasan:

"!=" dan "<>" bandingkan nilai. NULL, bagaimanapun, bukan nilai; ia menandakan ketiadaan nilai. Oleh itu, pengendali ini tidak sesuai untuk NULL perbandingan.

Gunakan IS NULL atau IS NOT NULL sebaliknya. Predikat ini secara khusus menyemak kehadiran atau ketiadaan nilai. Kejayaan pertanyaan ketiga berpunca daripada penggunaan IS NOT NULL yang betul.

Isi Penting:

  • Untuk menguji nilai bukanNULL, gunakan IS NOT NULL.
  • Gunakan "<>" atau "!=" untuk membandingkan dengan nilai bukanNULL tertentu.
  • NULL tidak boleh dianggap sama atau tidak sama dengan mana-mana nilai, kerana ia mewakili data yang tiada.

Atas ialah kandungan terperinci Mengapa Operator '!=' dan '<>' Gagal Membandingkan dengan NULL dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan