标签: sql casting floating-point average
在我的一个查询中,似乎AVG函数返回一个int。
AVG
select ..., AVG(e.employee_level)avg_level
如何让它返回浮点值?我尝试了它,但avg_level的所有行仍然是整数。
avg_level
答案 0 :(得分:40)
尝试这样做:
AVG(Cast(e.employee_level as Float)) as avg_level
此外,我找到了this话题,你可以找到另一种方法,但我没有使用它,也不知道是否有效。
答案 1 :(得分:1)
投射更确定,但...AVG(1.0 * e.employee_level)...可能也会这样做,并且可以更清晰。
...AVG(1.0 * e.employee_level)...
答案 2 :(得分:0)
AVG的返回类型取决于传递给函数的表达式的求值类型。
例如,如果您希望结果为float,则需要确保列或表达式类型为float。
float