Home >Database >Mysql Tutorial >Oracle的NULL和0

Oracle的NULL和0

WBOY
WBOYOriginal
2016-06-07 17:08:211211browse

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

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

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

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

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

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn