最近在写一个SQL中遇到除法精度问题,比如:
SELECT 7185521/7185522
得出的结果是1,那么如何让他得到0.999这样的结果呢,后来查google得知可以利用TRUNCATE()函数来解决这样类似大数据除法的精度问题。
- TRUNCATE(X,D)
返回被舍去至小数点后D位的数字X。若D 的值为 0, 则结果不带有小数点或不带有小数部分。可以将D设为负数,若要截去(归零) X小数点左起第D位开始后面所有低位的值.
SELECT TRUNCATE(7185521/7185522,4)
例如这样就会得出“0.9999”这样的结果