sql - Round 和 avg 的 NULL 值
问题描述
我正在尝试获得一个具有一些空值的平均时间
(ROUND (AVG (TRUNC (starttime- endtime)*24 + TRUNC (24 * MOD (endtime- starttime, 1)))))
我的输出低于
48
22
15
96
22
(NULL)
52
有什么方法可以在我们出现的任何地方手动传递'-'值
解决方案
您可以IS NULL
与CASE
表达式一起使用以有条件地显示-
计算NULL
:
SELECT
...
CASE WHEN starttime - endtime IS NOT NULL
THEN TO_CHAR(ROUND(AVG(TRUNC(starttime-endtime)*24 + TRUNC(24*MOD(endtime-starttime, 1)))))
ELSE '-' END AS output
FROM yourTable;
推荐阅读
- javascript - 在 API 调用中,我想在表格中显示数据
- node.js - 访问 docker swarm worker 节点上的服务列表
- captcha - 从特定网站了解验证码的源代码
- powershell-4.0 - 我想在数据 powershell 中导入一个带有逗号的 csv 文件
- javascript - 如何防止用户输入显示在移动浏览器的输入字段中
- node.js - 如果在 node.js 中使用 MVC 模型,控制器的工作是什么
- python - 如何将 A[x,y] = z 转换为 [ [ x0...xN ], [ y0...yN], [ z0...zN] ]
- python - 如何在 OSMNX 中找到转弯最少的路径?
- java - JpaRepository 是否有补丁方法来更新特定对象
- asp.net-mvc - 如何在 MVC 中使用数据注释验证 HTML 控件?