oracle null 处理机制

Oracle的null处理机制比较特殊(其实SQL Server也是如此,我说的特殊,主要是觉得跟我们经验相驳),经常在不注意的时候,就容易出错。

如:

 

三条数据,如果加上条件    and a.momemo <> 'MPR'   理论上来说应该查询到70005620这条数据,但是实际上

 

一条都没有查询到,那么这就出现一个问题  null<>'MPR' Flase

Oracle 中 null 对运算符 =  <>  返回的都是Flase。

所以每次统计数据,就要注意这一点,如果某个字段可能为null,就不能直接这样写条件,否则就会产生误差。

推荐语句:and nvl(a.momemo,'#') <> 'MPR'  (当字段为null,就当成‘#’处理)。

 

原文地址:https://www.cnblogs.com/KK-D/p/7889568.html