MySQL中的“!= NULL”和“IS NOT NULL”之间有什么区别吗?

时间:2014-02-20 19:29:25

标签: mysql

使用“!= NULL”和使用“IS NOT NULL”之间有什么区别吗?

例如:

SELECT * FROM tbl_example WHERE a_field IS NOT NULL

SELECT * FROM tbl_example WHERE a_field != NULL

2 个答案:

答案 0 :(得分:8)

是的,有。 !=无法正常使用NULL 1

mysql> SELECT 1 != NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 != NULL | 1 IS NOT NULL |
+-----------+---------------+
|      NULL |             1 |
+-----------+---------------+
1 row in set (0.00 sec)

BTW:!=无效SQL,您应该使用菱形运算符<>

1 实际上没有比较,ISIS NOT除外。

答案 1 :(得分:3)

您不应将值与null进行比较,因为此操作的效果不是true false - 它总是unknown

要检查值为null,您应始终使用is null