得到时间差异Oracle

时间:2015-10-14 16:02:02

标签: oracle time diff

我有下一个想法:

SELECT TO_CHAR('14:00:00','HH24:MI:SS') - MIN(TO_CHAR(DATETIME,'HH24:MI:SS')) AS MINFECHA
  FROM ARCHIVO2
  WHERE DIA='LUNES';

我希望得到两个应该类似

的字段
00:46:00

任何评论都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您不能在字符串中添加/减去日期和时间。要完成您尝试执行的操作,您需要将字符串转换为DATE值,执行必要的计算,然后将结果转换回字符串:

WITH DATE_DATA AS
  (SELECT DIA,
          DATETIME,
          TO_DATE(TO_CHAR(DATETIME, 'DD-MON-YYYY') || ' ' || '14:00:00', 'DD-MON-YYYY HH24:MI:SS') AS BASE_TIME
     FROM ARCHIVO2)
SELECT DIA,
       DATETIME,
       BASE_TIME,
       (DATETIME - BASE_TIME) * 1440 AS MINUTES_LATE
  FROM DATE_DATA;

SQLFiddle here

祝你好运。