【问题标题】:Date and Time conversion to hours and minutes日期和时间转换为小时和分钟
【发布时间】:2021-12-27 20:11:18
【问题描述】:

在 SQL 开发人员中,我减去了两个 timestamp 列,这给了我差异。

Select (created_dt_1 - created_dt_2) as delivery_time
from order;

DELIVERY_TIME
+02 05:12:30.651000

输出显示耗时 2 天 5 小时 12 分 30 秒。但是,我希望它只在几小时和几分钟内。我正在考虑使用 extract 从 created_dt_1 和 created_dt_2 乘以 24 小时,然后再次使用 extract 数小时和分钟,最后将它们全部加起来。

但是,我想知道是否有将“delivery_time”转换为小时和分钟的函数或更有效的方法。

【问题讨论】:

    标签: sql oracle data-conversion


    【解决方案1】:

    我正在考虑使用 extract 从 created_dt_1 和 created_dt_2 乘以 24 小时,然后再次使用 extract 几小时和几分钟,最后将它们全部加起来。

    如果您只想要以分钟为单位的时间,那么:

    SELECT TRUNC((CAST(created_dt_1 AS DATE) - CAST(created_dt_2 AS DATE)) * 24 * 60)
             AS delivery_time_minutes
    FROM   orders;
    

    如果你希望它是小时和分钟,那么:

    SELECT (EXTRACT(DAY FROM delivery_time) * 24
             + EXTRACT(HOUR FROM delivery_time)) || ' hours '
             || EXTRACT(MINUTE FROM delivery_time) || ' minutes'
             AS delivery_time
    FROM   (
      SELECT (created_dt_1 - created_dt_2) AS delivery_time
      FROM   orders
    );
    

    db小提琴here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 2021-05-22
      • 2017-07-03
      • 2023-02-06
      相关资源
      最近更新 更多