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

ทำไม MySQL ไม่ให้ใช้ตัวดำเนินการคำนวณ (=, <, <>) กับ NULL ได้


เพราะการเปรียบเทียบกับ NULL ด้วยตัวดำเนินการเหล่านั้นจะไม่ให้ผลลัพธ์ที่มีความหมาย ผลลัพธ์จะเป็น NULL เสมอ ตัวอย่าง:

mysql> Select 10 = NULL, 10< NULL, 10<>NULL;
+-----------+----------+----------+
| 10 = NULL | 10< NULL | 10<>NULL |
+-----------+----------+----------+
|      NULL |     NULL |     NULL |
+-----------+----------+----------+
1 row in set (0.07 sec)

ชุดผลลัพธ์ทั้งหมดเป็น NULL ไม่มีความหมายทางตรรกะ จึงควรใช้ IS NULL หรือ IS NOT NULL แทน