Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตัวดำเนินการ NULL-safe equal (<=>) ใน MySQL คืออะไร และต่างจากตัวดำเนินการเปรียบเทียบทั่วไปอย่างไร


ตัวดำเนินการ NULL-safe equal ของ MySQL เทียบเท่ากับตัวดำเนินการมาตรฐาน SQL IS NOT DISTINCT FROM ทำการเปรียบเทียบความเท่ากันเหมือนตัวดำเนินการ = สัญลักษณ์คือ <=> มันทำงานต่างจากตัวดำเนินการเปรียบเทียบในกรณีที่เรามี NULL เป็นอ็อพแรนด์ทั้งสอง พิจารณาตัวอย่างต่อไปนี้เพื่อเข้าใจตัวดำเนินการ NULL-safe พร้อมความแตกต่างกับตัวดำเนินการเปรียบเทียบ:

mysql> Select 50 <=> 50, NULL <=> NULL, 100 <=> NULL; 
+-----------+---------------+--------------+ 
| 50 <=> 50 | NULL <=> NULL | 100 <=> NULL | 
+-----------+---------------+--------------+ 
|         1 |             1 |            0 | 
+-----------+---------------+--------------+ 
1 row in set (0.00 sec) 
mysql> Select 50 = 50, NULL = NULL, 100 = NULL; 
+---------+-------------+------------+ 
| 50 = 50 | NULL = NULL | 100 = NULL | 
+---------+-------------+------------+ 
|       1 |        NULL |       NULL | 
+---------+-------------+------------+ 
1 row in set (0.00 sec)