【问题标题】:AVG in Sql - Float number problemSql中的AVG - 浮点数问题
【发布时间】:2010-11-09 07:11:18
【问题描述】:
SELECT     AVG(variable) AS Expr1, SUM(variable) AS Expr2
FROM       ......

AVG 的结果是 2,但它不是真的,它必须是 2.95。有什么问题,有什么想法吗?

【问题讨论】:

  • 变量的类型是什么?我猜它是一个整数。对吗?

标签: sql average


【解决方案1】:

试试

Select
    AVG(Cast(variable as Float)),
    SUM(variable)
From
    Table

【讨论】:

  • 我建议使用十进制而不是浮点数。看到这个:stackoverflow.com/questions/1056323/…
  • @PouyaBCD 在不知道确切的用例的情况下,您不能只建议使用小数而不是浮点数。存在完全有效的浮点数/双精度用例,其中使用小数时效果不佳(例如,当您需要大范围时,例如从 1e-18 到 1e+18 的数字)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
  • 2016-08-28
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多