MySQL ISNULL()函数和IS NULL运算符有什么区别?
ISNULL()函数和IS NULL运算符在行为上有一些共同之处,主要的不同点在于它们的语法不同。ISNULL()函数的参数为表达式,而IS NULL运算符将表达式放在其左侧。否则,它们都会在表达式为空时返回1,否则返回0。下面的示例将说明上述概念。
mysql> Select 1 IS NULL;
+-----------+
| 1 IS NULL |
+-----------+
| 0 |
+-----------+
1行受影响 (0.00 sec)
mysql> Select ISNULL(1);
+-----------+
| ISNULL(1) |
+-----------+
| 0 |
+-----------+
1行受影响 (0.00 sec)
mysql> Select ISNULL(1/0);
+-------------+
| ISNULL(1/0) |
+-------------+
| 1 |
+-------------+
1行受影响 (0.00 sec)
mysql> Select 1/0 IS NULL;
+-------------+
| 1/0 IS NULL |
+-------------+
| 1 |
+-------------+
1行受影响 (0.00 sec)
mysql> Select * from Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name | Salary |
+----+-------+--------+
| 7 | Aryan | NULL |
| 8 | Vinay | NULL |
+----+-------+--------+
2行受影响 (0.00 sec)
mysql> Select * from Employee WHERE ISNULL(Salary);
+----+-------+--------+
| ID | Name | Salary |
+----+-------+--------+
| 7 | Aryan | NULL |
| 8 | Vinay | NULL |
+----+-------+--------+
2行受影响 (0.00 sec)
阅读更多:MySQL 教程
极客教程