MySQL中的"!= NULL"和"IS NOT NULL"之间有什么不同吗?

vic*_*orf 1 mysql

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

例如:

SELECT * FROM tbl_example WHERE a_field IS NOT NULL

SELECT * FROM tbl_example WHERE a_field != NULL

Tim*_*lla 8

就在这里.!=NULL1无法正常工作:

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

顺便说一句:!=无效的SQL,你应该使用菱形运算符<>.

1事实上没有比较,除了ISIS NOT工作.

  • "*`!=`是无效的SQL*".[它在MySQL中](https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal). (4认同)
  • `!=`(以及`<>`)在MySQL中有效.我猜其他SQL实现可能无法使用它. (3认同)