Obrigado Chiappa, vou testar.
Carlos De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada: 31 de julho de 2014 17:56 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: Calculo Horas - Oracle 10g É ** trivial **, sabendo-se que a aritmética entre dates no Oracle te dá um valor numérico que representa qtdade de dias E que um dia tem 24 horas, 1 hora tem 60 mins e um min tem 60 segs : SYS:AS SYSDBA:SQL>set serveroutput on SYS:AS SYSDBA:SQL>DECLARE v_data_ini DATE := to_date('01/01/2014 10:00:00', 'dd/mm/yyyy hh24:mi:ss'); v_data_fim DATE := to_date('03/01/2014 11:30:20', 'dd/mm/yyyy hh24:mi:ss'); BEGIN dbms_output.put_line( 'Dias:' || trunc( v_data_ini - v_data_fim ) || ',Horas:' || trunc( mod( (v_data_ini - v_data_fim)*24, 24 ) ) || ',Mins :' || trunc( mod( (v_data_ini - v_data_fim)*24*60, 60 ) ) || ',Segs :' || trunc( mod( (v_data_ini-v_data_fim)*24*60*60, 60 ) ) ); END; / Dias:-2,Horas:-1,Mins :-30,Segs :-19 PL/SQL procedure successfully completed. EVIDENTEMENTE : -> quando vc tira um valor maior de um valor menor vc obtém um Negativo : se for o caso, Inverter a ordem na subtração... -> se só te interessa horas, minutos e segundos, simplesmente Adicione nas duas datas um dia/mês/ano arbitrário qualquer, sempre o mesmo, E não use a lógica de DIAS []s Chiappa