sql - 以小时和分钟选择两个日期的差异
问题描述
我有以下问题,我试图找出两个日期的小时和分钟的差异,例如
select to_date('13.05.2021 09:30','DD.MM.YYYY HH24:MI')
- to_date('13.05.2021 08:15','DD.MM.YYYY HH24:MI') from dual;
显然它会返回天数的差异,所以输出将为 0,我期待 01:15 之类的东西
解决方案
根据您的结果所需的数据类型...
如果一个interval day to second
可以工作,那么你可以这样做:
select (date2 - date1) * interval '1' day from dual;
例如:
select (to_date('13.05.2021 09:30','DD.MM.YYYY HH24:MI')
- to_date('13.05.2021 08:15','DD.MM.YYYY HH24:MI'))
* interval '1' day as diff
from dual;
DIFF
-------------------
+00 01:15:00.000000
试试这个;如果您需要不同的结果数据类型,请告诉我们。请注意,愚蠢的是,Oracle 不支持间隔的聚合函数。因此,如果您需要此类差异的总和,则应首先应用聚合,并且仅使用此技巧将转换为间隔作为最后一步。
推荐阅读
- python - 如何解决 Python Flask 套接字错误?
- javascript - 无法迭代接口。循环变量导致未定义
- javascript - 在 Typescript/Javascript 中的 String 数组中查找第一次出现的字符串
- forms - 限制自适应表单 AEM 中的未来日期选择
- php - 如何使用 Laravel 迁移将字符串列类型转换为整数?
- excel - 过滤后如何选择范围?
- otrs - 如何通过 REST 更新工单状态
- python - 迭代创建变量:globals() 的安全替代方案是什么?
- c - C、全局变量更改不保留在函数之外
- windows - Windows资源工具包中的备用键作为主键