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