首页 > 解决方案 > Avg() 函数在 PostgreSQL 中返回 '0E-20' 而不是 '0'

问题描述

avg()在 PostgreSQL 的 SQL 查询中使用了函数。

当我运行查询时,我得到0E-20的结果不是0(零)。

查询如下。

SELECT AVG(salary) 
FROM EMPLOYEE

注意:我只有一条工资为零的员工记录。

我怎样才能得到0结果而不是特殊响应?

任何帮助将不胜感激。

标签: sqlpostgresqlaverage

解决方案


假设您的salary列包含浮点数据,您看到的平均值可能只是由于舍入误差,而逻辑上它实际上为零。这里的一些选项是使用ROUNDor FLOOR

SELECT FLOOR(AVG(salary)) AS avg_salary   -- or ROUND(AVG(salary))
FROM EMPLOYEE

推荐阅读