在一次使用sql語句用SUM求和時發現統計出來的結果,跟正確的結果不一致。后來發現,是因為有的字段為NULL造成的。
SQL示例:select sum(filed1)+sum(filed2)+sum(filed3) from tableTest
解決辦法:
Oracle
select nvl(sum(filed1),0)+nvl(sum(filed2),0)+nvl(sum(filed3),0) from tableTest
SqlServer
select ISNULL(sum(filed1),0)+ISNULL(sum(filed2),0)+ISNULL(sum(filed3),0) from tableTest
除了sum求和存在這個問題,我想其他的像求平均值什么的,應該也會存在類似的問題,以后加以注意。