sql - Avg() 函数在 PostgreSQL 中返回 '0E-20' 而不是 '0'
问题描述
我avg()
在 PostgreSQL 的 SQL 查询中使用了函数。
当我运行查询时,我得到0E-20
的结果不是0
(零)。
查询如下。
SELECT AVG(salary)
FROM EMPLOYEE
注意:我只有一条工资为零的员工记录。
我怎样才能得到0
结果而不是特殊响应?
任何帮助将不胜感激。
解决方案
假设您的salary
列包含浮点数据,您看到的平均值可能只是由于舍入误差,而逻辑上它实际上为零。这里的一些选项是使用ROUND
or FLOOR
:
SELECT FLOOR(AVG(salary)) AS avg_salary -- or ROUND(AVG(salary))
FROM EMPLOYEE
推荐阅读
- node.js - Vue.js 在我更改环境变量后使用它们的旧值
- java - 如何在 Spock 中创建通用 CRUD 控制器测试
- macos - SQL Developer 4.2.0 不会在运行 Catalina OS 的 Mac 上启动
- lua - 无法在scrapy-splash中制作Lua脚本获取页数并单击页面上的按钮
- opencv - ImportError: DLL load failed while importing cv2: 没有足够的内存资源来处理这个命令
- laravel - Laravel 8 和 Vue 3
- python - 在熊猫数据框列上执行多个正则表达式匹配
- apache-spark - 加入已经在键子集中分区的 PySpark SQL 数据帧
- trace32 - 劳特巴赫脚本:检查函数名称和参数数据类型
- python - Python创建一个只读包装类而不修改包装类