Mengapa Ketaksamaan Null Berkelakuan Logik dengan Logik Ternary
Dalam sistem pengurusan pangkalan data, konsep ketiadaan adalah penting apabila membandingkan nilai. Pendekatan konvensional menentukan bahawa untuk menguji kesamaan antara medan yang boleh dibatalkan, seseorang mesti menggunakan syarat OR antara kesamaan dan semakan IS NULL. Walau bagaimanapun, apabila bercakap tentang ketidaksamaan, adalah mengejutkan apabila mendapati bahawa pengendali ketidaksamaan yang mudah sudah memadai.
Tingkah laku membingungkan ketidaksamaan yang melibatkan null berpunca daripada logik ternary asas yang digunakan pada nilai yang tidak diketahui. Dalam konteks ini, null mewakili keadaan yang tidak diketahui dan membandingkan dua nilai yang tidak diketahui antara satu sama lain menghasilkan hasil yang tidak diketahui.
Pertimbangkan senario:
A = null B = null
Jika kita bertanya "Adakah A tidak sama ke B?", logik ternary menentukan bahawa jawapannya harus tidak diketahui, kerana kita tidak dapat menentukan sama ada kedua-dua yang tidak diketahui itu sememangnya berbeza. Inilah sebabnya mengapa pengendali ketaksamaan (A<>B) mengembalikan FALSE.
Sebaliknya, menyemak kesamaan antara A dan B dengan (A=B) juga akan mengembalikan FALSE, kerana dua nilai yang tidak diketahui tidak boleh dipertimbangkan sama rata. Tingkah laku ini menyerlahkan aplikasi logik ternari yang konsisten dalam perbandingan pangkalan data.
Oleh itu, apabila mana-mana nilai yang dibandingkan boleh menjadi batal, pengendali ketidaksamaan yang mudah adalah mencukupi untuk menguji ketidaksamaan. Semakan eksplisit untuk batal dengan IS NOT NULL tidak diperlukan kerana ketidaksamaan menyumbang kepada keadaan nilai boleh batal yang tidak diketahui dan mengembalikan FALSE dengan sewajarnya.
Atas ialah kandungan terperinci Mengapa Ketaksamaan dengan Nilai NULL Berfungsi Secara Logik dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!