Rumah >pangkalan data >tutorial mysql >Bagaimana Menguji Ketaksamaan Lajur Boleh Nullable dalam SQL dengan Berkesan?
Memahami Ketaksamaan Null
Dalam bidang SQL, kesamaan nilai NULL menimbulkan cabaran yang unik. Konsensus mencadangkan menggunakan ungkapan "di mana ((A=B) OR (A IS NULL AND B IS NULL))" untuk menguji kesamaan antara lajur yang boleh dibatalkan. Walau bagaimanapun, pendekatan ini menimbulkan persoalan apabila menguji ketaksamaan.
Menurut logik ternary, yang menganggap NULL sebagai nilai yang tidak diketahui, ungkapan ketaksamaan "di mana (A<>B)" adalah mencukupi untuk menilai ketaksamaan lajur boleh batal. Logik ini menganggap bahawa kesamaan nilai yang tidak diketahui tidak diketahui, maka hasilnya tidak BENAR.
Sebagai contoh, pertimbangkan senario berikut:
Syarat Tambahan
Ungkapan "WHERE ((A <> B) ATAU (A BUKAN NULL DAN B ADALAH NULL) OR (A IS NULL AND B IS NOT NULL))" ialah pendekatan alternatif yang secara eksplisit menyemak semua kemungkinan gabungan nilai NULL dan bukan NULL. Walau bagaimanapun, ia adalah tidak perlu dalam situasi di mana matlamatnya adalah untuk menilai ketaksamaan lajur yang boleh dibatalkan.
Kesimpulannya, untuk lajur boleh dibatalkan, ungkapan "di mana (A<>B)" adalah mencukupi untuk menilai ketaksamaan mereka. , kerana NULL dianggap sebagai nilai yang tidak diketahui dalam logik ternary.
Atas ialah kandungan terperinci Bagaimana Menguji Ketaksamaan Lajur Boleh Nullable dalam SQL dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!