Mysql null与逻辑运算符一起使用

Mysql null与逻辑运算符一起使用,mysql,null,Mysql,Null,我有一个包含名称、年龄和地址的表。表中总共有五行数据。对于某些行,年龄保留为空。我必须显示年龄不为空的所有数据 从样本表格中选择*,其中(年龄!=null) 但是没有显示输出,也没有给出错误。请解释一下。谢谢 如果为空,则必须使用IS或IS NOT。以下查询应该可以工作: SELECT * FROM sample_table WHERE (age IS NOT NULL) MySQL的解释 空值的概念是一个常见的混淆源 SQL的新手,他们经常认为 NULL与空值是相同的 字符串“”。事实并非如

我有一个包含名称、年龄和地址的表。表中总共有五行数据。对于某些行,年龄保留为空。我必须显示年龄不为空的所有数据

从样本表格中选择*,其中(年龄!=null)


但是没有显示输出,也没有给出错误。请解释一下。谢谢

如果为空,则必须使用
IS
IS NOT
。以下查询应该可以工作:

SELECT * FROM sample_table WHERE (age IS NOT NULL)

MySQL的解释

空值的概念是一个常见的混淆源 SQL的新手,他们经常认为 NULL与空值是相同的 字符串“”。事实并非如此

在SQL中,空值与任何其他值相比都不为真, 甚至是空的。包含 NULL总是产生一个NULL值 除非合同中另有说明 操作员和操作员的文件

如果要搜索空的列值,则不能使用 expr=NULL测试

要查找空值,必须使用IS NULL测试


您必须使用IS NULL或IS NOT NULL

您不能直接与NULL进行比较,因为它不是值(请不要使用学究!)


MySQL、Sybase、SQL Server。。。这一切都是一样的

上述查询正在运行。!=和“is not”都是逻辑运算符,那么为什么答案会不同呢?这就是MySQL的设计方式,Null不能像常规字符串/数值一样处理,因此必须使用is not Null或is Null来检查它以获得正确的值。