首页 > 解决方案 > 因为我不能在 Mysql 的 SELECT 中使用“<> Null”?

问题描述

我正在做一个项目,我想知道使用is not null<> null在 Mysql 中的区别。

为什么我们要使用IS NOT NULL而不是<> NULL?因为当我在第二种情况下这样做时,没有找到结果。

例子

  1. 从名称不为 NULL 的表中选择 *;

  2. select * from table where name <> NUll;

标签: mysqlselectnull

解决方案


来自https://dev.mysql.com/doc/refman/8.0/en/problems-with-null.html

在 SQL 中,与任何其他值相比,NULL 值永远不会为真,即使是 NULL。包含 NULL 的表达式始终生成 NULL 值,除非文档中针对表达式中涉及的运算符和函数另有说明。

NULL值表示缺失的未知数据。

并且NULL的处理方式与其他值不同

对于NULL带有比较运算符的值,例如=, <, 或<>是不可能测试的。

是规矩。因此,您只能使用IS NULLorIS NOT NULL运算符。


推荐阅读