Rumah > pangkalan data > tutorial mysql > SQL NULL Equality: Bila hendak menggunakan IS NULL vs. = NULL?

SQL NULL Equality: Bila hendak menggunakan IS NULL vs. = NULL?

Mary-Kate Olsen
Lepaskan: 2025-01-11 20:32:42
asal
1054 orang telah melayarinya

SQL NULL Equality: When to Use IS NULL vs. = NULL?

Paradoks perbandingan nilai SQL NULL: membezakan antara IS NULL dan = NULL

Dalam bidang SQL, konsep nilai NULL selalunya membawa cabaran kepada pembangun. Salah satu kesukaran adalah apabila menggunakan operator IS NULL dan = NULL untuk membandingkan nilai NULL. Walaupun mereka kelihatan serupa, keputusan mereka sangat berbeza, mengelirukan ramai orang.

Fahami perbezaannya

    Keputusan
  • = NULL tidak diketahui, yang mewakili logik tiga nilai. Walau bagaimanapun, dalam klausa WHERE, hasil ini dianggap sebagai palsu, tidak termasuk baris dengan nilai NULL dalam set hasil.
  • IS NULL Secara eksplisit menyemak nilai NULL ​​dan mengembalikan benar hanya jika nilai itu memang NULL.

Bila hendak menggunakan setiap pengendali

Memandangkan tingkah laku mereka yang berbeza:

  • Apabila anda ingin mencari nilai yang tidak diketahui dengan sengaja, gunakan = NULL. Tidak disyorkan untuk perbandingan umum kerana ia boleh membawa kepada hasil yang tidak dijangka.
  • Apabila anda perlu menyemak secara khusus untuk nilai NULL, gunakan IS NULL. Ini adalah cara pilihan untuk mengendalikan perbandingan NULL dalam SQL.

Contoh

Pertimbangkan borang berikut:

<code>| id | name |
|---|---|
| 1  | John |
| 2  | NULL |
| 3  | Mary |</code>
Salin selepas log masuk
  • Pertanyaan 1:
<code>SELECT * FROM table WHERE name = NULL;</code>
Salin selepas log masuk

Hasil: Tiada baris dikembalikan kerana = NULL menganggap NULL sebagai palsu.

  • Pertanyaan 2:
<code>SELECT * FROM table WHERE name IS NULL;</code>
Salin selepas log masuk

Hasil: Mengembalikan baris dengan id 2, mengenal pasti nilai NULL dengan betul.

Atas ialah kandungan terperinci SQL NULL Equality: Bila hendak menggunakan IS NULL vs. = NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan