不在条件下不考虑Oracle中的null

时间:2016-02-01 10:58:28

标签: oracle null notin

我的结果设置如下

reg_no    name    grade
--------- ------- ------
1112      Muthu   A
1113      Vikki   B
1114      Murali  C
1115      Shankar null

我已经检查了条件而不是

select * from grades where grade not in ('B','C')

但是当执行查询时,我只有一个具有A等级的记录。我没有得到第4排。我坚持这个。如何检查。

2 个答案:

答案 0 :(得分:3)

只有一种检查空存在的正确方法是 IS NULL IS NOT NULL

select * from grades where grade not in ('B','C') or grade is null

答案 1 :(得分:0)

像这样检查

select * from grades where nvl(grade,'?') not in ('B','C');

但如果存在,这种合适的方法不能在grafes上使用索引。