2012-07-30 4 views
1

나는 다음과 같이 수동으로 쿼리를 가지고 :쿼리 실행 시간 차이가 있습니까?

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

나는 단지 HH24:MM:SS 같은 출력을 표시해야합니다. VARCHAR2 당신의 스탬프 날짜를 받아 반환

답변

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 
0

쓰기 기능 (같은 값을 "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 

그리고 그것을 즐기십시오!

관련 문제