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

อะไรคือความแตกต่างระหว่างฟังก์ชัน MySQL ISNULL () และตัวดำเนินการ IS NULL?


ทั้งสองอย่างมีนัยสำคัญ ISNULL() ฟังก์ชันและ เป็นโมฆะ ตัวดำเนินการไม่มีความแตกต่างใด ๆ และแบ่งปันพฤติกรรมทั่วไปบางอย่าง ความแตกต่างเพียงอย่างเดียวที่เราเห็นอยู่ในรูปแบบของพวกเขา ฟังก์ชัน ISNULL() จะมีนิพจน์เป็นอาร์กิวเมนต์ ในขณะที่ IS NULL ตัวดำเนินการเปรียบเทียบมีนิพจน์ทางด้านซ้าย มิฉะนั้น ทั้งคู่จะส่งกลับ 1 ถ้านิพจน์เป็น NULL และ 0 ถ้านิพจน์ไม่ใช่ NULL ตัวอย่างต่อไปนี้จะแสดงให้เห็นแนวคิดข้างต้น -

mysql> Select 1 IS NULL;
+-----------+
| 1 IS NULL |
+-----------+
| 0         |
+-----------+
1 row in set (0.00 sec)

mysql> Select ISNULL(1);
+-----------+
| ISNULL(1) |
+-----------+
| 0         |
+-----------+
1 row in set (0.00 sec)

mysql> Select ISNULL(1/0);
+-------------+
| ISNULL(1/0) |
+-------------+
| 1           |
+-------------+
1 row in set (0.00 sec)

mysql> Select 1/0 IS NULL;
+-------------+
| 1/0 IS NULL |
+-------------+
| 1           |
+-------------+
1 row in set (0.00 sec)

mysql> Select * from Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+
2 rows in set (0.00 sec)

mysql> Select * from Employee WHERE ISNULL(Salary);
+----+-------+--------+
| ID | Name | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+
2 rows in set (0.00 sec)