SQL
Server和Oracle这两个主要的数据库中,空值都比较特殊,不能直接用"="或"<>"号来比较,如果你要用这两个符号比较,就会发现,空值即不在等于的集内,也不在不等于的集内。
特别注意的是,空值用“<>”(不等于)比较时,也不在集合内!具体的你自已测试一下就明白了。
常见的做法是用"IS
NULL"或“IS
NOT
NULL”来确定是不是空值。比如你的情况应该改写语句为:
where itemno IS NULL
如果你的表中yqjmc是(NULL)值,那么你的写的语句没问题。就用select * from yqjrec where yqjmc is null ;
如果你的表中yqjmc不是(NULL)值而是空。就用
select * from yqjrec where yqjmc='' 。
你如果不能确定是空还是NULL值,不如这样写:
select * from yqjrec where yqjmc is null or yqjmc='' 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)