2017-05-15 13 views
0

을 무시하고이 개 날짜 필드 사이의 차이를 얻는다. 예 :이 절차 PLSQL 화학식 사용될 것이다내가</strong> 일, 월 & 년 부분을 무시 <strong>동안 시간 오라클의 날짜 필드에서</strong> 2 사이의 날짜의 차이 <strong>을 계산하는 간단한 방법을 찾고 싶습니다 오라클 PLSQL이 일

Datetime 1 (DATE variable) = 10/05/2017 16:00:00 
Datetime 2 (DATE variable) = 15/05/2017 19:34:23 

Required result (NUMBER output) = 3.576 hours 

는 출력은 상기 다수이어야 할 필요가있다. 나는 TO_DATE & TRUNC의 어떤 조합이 효과가있을 것이라고 생각합니다. 이것이 중복 된 질문이라면 어떤 도움이든지 가장 큰 사과와 사과가 될 것입니다.

+0

가 월 및 연도가 고려된다? – GurV

+0

결과가 필요한 형식은 무엇입니까? 간격이 있습니까? –

답변

4

sssss 날짜 마스크를 사용하여 시간 요소를 자정 이후의 초 수로 가져옵니다. 그 다음은 간단한 arithmentic의 문제는 다음과 같습니다

select (to_number(to_char(datetime2, 'sssss')) 
     - to_number(to_char(datetime1, 'sssss'))/3600 as diff_hours 
from dual; 

PL/SQL 버전은 같은 ....

declare 
    Datetime1 DATE := to_date('10/05/2017 16:00:00', 'dd/mm/yyyy hh24:mi:ss'); 
    Datetime2 DATE := to_date('15/05/2017 19:34:23', 'dd/mm/yyyy hh24:mi:ss'); 
    hours_diff number; 
begin 
    hours_diff := (to_number(to_char(datetime2, 'sssss')) 
     - to_number(to_char(datetime1, 'sssss')))/3600 ; 
    dbms_output.put_line(hours_diff); 
end; 
+0

감사합니다. @ APC! – pwl