› Fóruns › SQL e PL/SQL › Select que retorna horas › Select que retorna horas
[quote=”LeloStyle”:2fziic87]Bom dia pessoal,
Querendo agradecer mas uma vez por todas as ajudas aqui no forum, vamos lá.
Estou com um select que realiza a contagem de horas ralativa a cada atividade desempenhada no mês, mas acontece que no select não ta retornando a hora da maneira que stá na base. Ex : na base está 01/08/2009 04:30:00 , ai no select me retorna assim 4 horas. estou fazendoo assim, se alguém puder me dar uma força:
select Trunc(Sum(((To_Number(to_char(b.qtde_horas,'hh24'))/24 + To_Number(to_char(b.qtde_horas,'mi'))/60/24)) * 24)) hora_mes,
b.cd_analista,
a.cd_os,
decode(b.motivo,'A','Análise','D','Desenvolvimento','T','Teste','C','Correção','CH','Correção Homologação','TC','Teste Correção'),
b.data_inicio,
1 qtde_os
from fbr_ocorrencia a,
fbr_ocorrencia_analista b
where to_char(b.data_inicio,'mm/rrrr') = :p_data
and a.cd_ocorrencia = b.cd_ocorrencia
group by b.cd_analista, a.cd_os, b.data_inicio, b.motivo
order by b.data_inicio;
[/quote]
Lelo,
O melhor é vc criar um função e dentro dela transformar a hora para segundos, fazer o calculo e depois passar para hora/min/seg de novo.
ai depois pega essa funcao e coloca como coluna do select.