Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa ISNULL() và IS NULL trong MySQL

Hai dạng ISNULL() (hàm) và IS NULL (toán tử) về bản chất giống nhau: trả về 1 nếu biểu thức là NULL, 0 nếu không NULL. Chỉ khác nhau về cú pháp.

  • ISNULL(expression): hàm, đối số trong ngoặc
  • expression IS NULL: toán tử, biểu thức ở bên trái

Ví dụ minh họa

mysql> SELECT 1 IS NULL;       -- 0
mysql> SELECT ISNULL(1);       -- 0
mysql> SELECT ISNULL(1/0);     -- 1 (chia cho 0 ra NULL)
mysql> SELECT 1/0 IS NULL;     -- 1

mysql> SELECT * FROM Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+

mysql> SELECT * FROM Employee WHERE ISNULL(Salary);
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+

Hai cách cho kết quả y hệt nhau.