我有一个名称,年龄和地址的表。我在表中总共有五行数据。对于某些行,年龄保留为null。我必须显示所有年龄不为空的数据。
select * from sample_table where(age!= null);
但是没有显示输出,也没有出错。请解释一下。谢谢。
答案 0 :(得分:4)
使用NULL,您必须使用IS
或IS NOT
。以下查询应该有效:
SELECT * FROM sample_table WHERE (age IS NOT NULL)
答案 1 :(得分:2)
MySQL的解释
NULL值的概念是混淆的常见原因 SQL的新手,他们经常这么认为 NULL与空相同 字符串''。事实并非如此。
在SQL中,与任何其他值相比,NULL值永远不会为真, 甚至是NULL。包含的表达式 NULL始终生成NULL值 除非另有说明 运营商的文档和
如果要搜索NULL值的列值,则无法使用 expr = NULL测试。
要查找NULL值,必须使用IS NULL测试。
答案 2 :(得分:1)
您必须使用IS NULL或IS NOT NULL。
您无法直接与NULL进行比较,因为它不是值(请不要请小儿!)
MySQL,Sybase,SQL Server ......它们都是一样的