查询执行时间差?

时间:2012-07-30 07:18:57

标签: plsqldeveloper

我手动查询如下:

 SELECT 
    to_char( to_date('29-Jul-12 22:25:11','DD-MON-YY HH24:MI:SS')- SYSDATE ) 
 FROM DUAL

我需要像HH24:MM:SS一样显示输出。

2 个答案:

答案 0 :(得分:0)

SELECT trunc(MOD((SYSDATE - to_date('29-Jul-12 22:25:11', 'DD-MON-YY HH24:MI:SS')) * 24, 24)) || ':' ||
       trunc(MOD((SYSDATE - to_date('29-Jul-12 22:25:11', 'DD-MON-YY HH24:MI:SS')) * 24 * 60, 60)) || ':' ||
       trunc(MOD((SYSDATE - to_date('29-Jul-12 22:25:11', 'DD-MON-YY HH24:MI:SS')) * 24 * 60 * 60, 60)) Time
FROM   dual

答案 1 :(得分:0)

写入获取戳记日期并返回varchar2的函数(值类似“HH24:MI:SS”)

    create or replace Function Get_Difference(i_Stamp_Date date) return varchar2 is
  v_Result varchar2(8);
begin    
  v_Result := Round(mod((sysdate - i_Stamp_Date) * 24, 24)) || ':' ||
              Round(mod((sysdate - i_Stamp_Date) * 1440, 60)) || ':' ||
              Round(mod((sysdate - i_Stamp_Date) * 86400, 60));

  return v_Result;
end;

然后你可以这样称呼它:

SELECT Get_Difference(to_date('29-Jul-12 22:25:11','DD-MON-YY HH24:MI:SS'))  FROM DUAL

并享受它!