Sql中的AVG - 浮点数问题
Posted
技术标签:
【中文标题】Sql中的AVG - 浮点数问题【英文标题】:AVG in Sql - Float number problem 【发布时间】:2010-11-09 07:11:18 【问题描述】:SELECT AVG(variable) AS Expr1, SUM(variable) AS Expr2
FROM ......
AVG 的结果是 2,但它不是真的,它必须是 2.95。有什么问题,有什么想法吗?
【问题讨论】:
变量的类型是什么?我猜它是一个整数。对吗? 【参考方案1】:试试
Select
AVG(Cast(variable as Float)),
SUM(variable)
From
Table
【讨论】:
我建议使用十进制而不是浮点数。看到这个:***.com/questions/1056323/… @PouyaBCD 在不知道确切的用例的情况下,您不能只建议使用小数而不是浮点数。存在完全有效的浮点数/双精度用例,其中使用小数时效果不佳(例如,当您需要大范围时,例如从 1e-18 到 1e+18 的数字)。以上是关于Sql中的AVG - 浮点数问题的主要内容,如果未能解决你的问题,请参考以下文章