视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle的NULL和0
2020-11-09 11:47:56 责编:小采
文档


昨天做个报表,客户说怎么把明细相加和汇总行的值不一样呀。想了想,怎么可能呀,我写的报表有个习惯,为了赶时间,通常是把汇总

一直以来,大师们就告诉我们Oracle中的NULL与0是不一样的,什么区别啊。到我实践的时候,早忘了那些告诫。

昨天做个报表,客户说怎么把明细相加和汇总行的值不一样呀。想了想,怎么可能呀,我写的报表有个习惯,为了赶时间,通常是把汇总行直接union all select sum() from (明细)。这么写应该是正常的呀,怎么可能明细相加会不等于汇总行的值。

明细表的数据,手工加了下,再用sum(),果然数据不一致,疯了,怎么可能。突然想起了null值的问题。加了nvl(字段名,0),之后,在汇总,数据正常了。要是这样我的所有报表可能都需要检查了,,于是就把源头找出,把空的全部改为0,这样就好办了。

后来,再试了一下四则运算,结果都是null,大于,小于和等于则都不理会null。

下载本文
显示全文
专题