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
952 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!

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