如何在Oracle中找到两个日期时间之间的差异

时间:2018-11-12 09:24:56

标签: sql oracle datetime date-arithmetic

如何计算两个日期时间之间的时差并在数小时内得到答案?日期时间格式为MM / DD / YYYY HH:MM:SS

1 个答案:

答案 0 :(得分:1)

当您减去两个DATE值时,结果为天数。因此,要获得小时数,您必须将结果乘以24(因为一天中有24个小时)。

例如:

SQL> select to_date('12.11.2018 10:00:00', 'dd.mm.yyyy hh24:mi:ss')
  2       - to_date('12.11.2018 08:00:00', 'dd.mm.yyyy hh24:mi:ss') number_of_days
  3  from dual;

NUMBER_OF_DAYS
--------------
    ,083333333

SQL> select (  to_date('12.11.2018 10:00:00', 'dd.mm.yyyy hh24:mi:ss')
  2          - to_date('12.11.2018 08:00:00', 'dd.mm.yyyy hh24:mi:ss')
  3         ) * 24 number_of_hours
  4  from dual;

NUMBER_OF_HOURS
---------------
              2

顺便说一句,您张贴的格式遮罩是错误的;不是HH: MM :SS,而是HH:MI:SS; MM代表几个月,MI代表分钟。