使用“!= NULL”和使用“IS NOT NULL”之间有什么区别吗?
例如:
SELECT * FROM tbl_example WHERE a_field IS NOT NULL
和
SELECT * FROM tbl_example WHERE a_field != NULL
答案 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 实际上没有比较,IS
和IS NOT
除外。
答案 1 :(得分:3)
您不应将值与null进行比较,因为此操作的效果不是true
false
- 它总是unknown
。
要检查值为null,您应始终使用is null