Soma de horas com decimais

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Maccio
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Seg, 03 Jun 2019 11:11 am

Boa Tarde,


estou tentando fazer uma consulta que me retorne o total de horas trabalhadas no dia dos funcionários, porém para esse calculo exitem 2 campos, 1- total de horas e 2 - Percusso, onde terei que somar as duas. Até ai tudo bem, o problema é que esses campos estão como números com casas decimais, exemplo Hora Total = 7,50(Sete horas e cinquenta minutos) + Percusso = 0,20 (Vinte minutos), quando eu somo esses valores dá um total de 7,70, onde deveria ser 8,10. Como consigo fazer esse calculo?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu fiz esse select abaixo e deu certo:

Selecionar tudo

select
  trunc(tot) horas
, (tot-trunc(tot))*60 minutos
from 
(
select
  trunc(horas)    + (horas-trunc(horas))*100/60
+ trunc(percusso) + (percusso-trunc(percusso))*100/60  tot
from 
(select 7.5 horas
,       0.2 percusso
from dual)
)
Dá o seguinte resultado:

Selecionar tudo

     HORAS    MINUTOS
---------- ----------
         8         10

SQL> 
:-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes