Oracle的NULL和0

WBOY
リリース: 2016-06-07 17:08:21
オリジナル
1205 人が閲覧しました

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

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

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

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

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

linux

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート