Oracle nvl() BUG 指针不正确

今天在使用nvl() 发现在该SQL上在套一层 查询  查询的指针是有问题的

问题如下图:

这个我的NVL(T.I_CODE,PALL.I_CODE) 

 

 

 

可以看到当前170202共4条 

当我加上过滤条件

 

只有3条了 ,也就是说这里     t.nvlCODE =  t.I_CODE

 

解决的方法是把NVL() 换成  DECODE ()

比如   DECODE(T.I_CODE,NULL, PALL.I_CODE,T.I_CODE)

 

posted @ 2020-07-30 15:57  章齐斌  阅读(163)  评论(0)    收藏  举报