在MS SQL Server和Oracle这两个主要的数据库中,空值都比较特殊,不能直接用"="或"<>"号来比较,如果你要用这两个符号比较,就会发现,空值即不在等于的集内,也不在不等于的集内。
特别注意的是,空值用“<>”(不等于)比较时,也不在集合内!具体的你自已测试一下就明白了。
常见的做法是用"IS NULL"或“IS NOT NULL”来确定是不是空值。比如你的情况应该改写语句为:
where itemno IS NULL