Rumah >pangkalan data >tutorial mysql >Bagaimanakah NULL-Safe Equals Operator () MySQL berfungsi?
Operator Not Equal to NULL dalam MySQL: <=>
Apabila bekerja dengan pertanyaan SQL, anda mungkin menghadapi <=> pengendali, menimbulkan persoalan tentang maksud dan sintaksnya. Panduan ini akan memberikan pemahaman yang mendalam tentang pengendali ini dan aplikasinya.
Pemahaman <=>
The <=> operator dikenali sebagai NULL-safe equal operator. Ia serupa dengan pengendali sama rata biasa (=), tetapi dengan perbezaan penting apabila berurusan dengan nilai NULL.
Operator Sama Sama Biasa lwn. Operator Sama Sama NULL-Selamat
Operator sama biasa (=) mengembalikan 0 jika operan tidak sama dan 1 jika ia sama. Walau bagaimanapun, ia menganggap nilai NULL sebagai kes khas, menghasilkan NULL sebagai hasil dalam perbandingan sedemikian.
Pengendali <=>, sebaliknya, mengendalikan nilai NULL secara berbeza. Ia mengembalikan 0 jika operan adalah tidak sama dan 1 jika ia adalah sama, tidak kira sama ada salah satu atau kedua-dua operan adalah NULL. Dalam erti kata lain:
Kegunaan <=>
Pengendali <=> terutamanya berguna dalam senario di mana kedua-dua operan dalam perbandingan mungkin mengandungi nilai NULL, dan anda memerlukan perbandingan yang konsisten hasil antara dua lajur.
Satu lagi aplikasi praktikal pengendali ini adalah dalam pernyataan yang disediakan, di mana pemegang tempat boleh mengendalikan kedua-dua nilai skalar dan nilai NULL dengan lancar tanpa perlu mengubah suai pertanyaan.
Pengendali Berkaitan
MySQL juga menawarkan pengendali lain untuk membandingkan nilai dengan NULL:
Pengendali ini boleh dianggap sebagai pengkhususan pengendali <=> MySQL. Contohnya:
Sokongan dan Keserasian
Pengendali <=> adalah khusus MySQL dan tidak disokong pada pangkalan data lain.
Piawaian SQL:2003 memperkenalkan predikat, ADALAH [TIDAK] BERBEZA DARI, yang berkelakuan sama dengan MySQL <=> pengendali.
Selain itu, ungkapan kompleks berikut tetapi disokong secara universal boleh mencapai hasil yang sama:
CASE WHEN (a = b) or (a IS NULL AND b IS NULL) THEN 1 ELSE 0 END = 1
Atas ialah kandungan terperinci Bagaimanakah NULL-Safe Equals Operator () MySQL berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!