我对数据表中一列用SUM函数进行求和,但是出现的数据不对
原数据是小数点后有一位数(未进行过四舍五入,截取等处理,原数据就是小数点后只有一位),但是通过SUM求和后会生成一个小数点后很多位的相近数,经过四舍五入后会得到正确的值。
现在想知道为什么在SUM求和后会生成一个小数点后很多位的相近数
PS: where 条件只是进行了一个筛选,正常是不会影响SUM求和
你的BNUMBER用的float类型的吧 ,你换成double或decimal 试试
float,double这些属于浮点数,相加的时候很可能是无法得到指定的数字
比如1.23+1.123 你以为得到的结果是2.353但是实际结果可能是2.3530002
你如果对精度要求非常高的,比如金额之类的,那么你就应该用定点数的类型也就是decimal而不是float,double这些类型