Média Campo Hora

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
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Pessoal, bom dia.

Preciso fazer a média de um campo timestamp e gostaria de saber se alguém já fez isso ? Qual a melhor maneira de se fazer ?

Abraços
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother,procure utilizar a função AVG para fazer a média de intervalos,segue um exemplo para ter uma idéia de como fazer.

Selecionar tudo

CREATE TABLE TESTE
(COD INT,DATA DATE)

insert into teste
values(2, to_date('06/12/2013:12:00:00', 'dd/mm/yyyy:hh24:mi:ss'));

insert into teste
values(3, to_date('07/12/2013:16:00:00', 'dd/mm/yyyy:hh24:mi:ss'));

insert into teste
values(4, to_date('08/12/2013:19:00:00', 'dd/mm/yyyy:hh24:mi:ss'));

insert into teste
values(5, to_date('09/12/2013:17:45:00', 'dd/mm/yyyy:hh24:mi:ss'));

select * from teste
COD	DATA
2	06/12/2013 12:00:00
3	07/12/2013 16:00:00
4	08/12/2013 19:00:00
5	09/12/2013 17:45:00


 select cod,
        to_char(ceil(avg((data-trunc(data))*24))-1) ||
       ':' ||
      to_char ( (ceil(avg((data-trunc(data))*1440))) - ((ceil(avg((data-trunc(data))*24))-1)*60)) media
  from teste

   group by cod
 order by cod
   
COD	MEDIA
2	11:60
3	15:60
4	18:60
5	17:45


Responder
  • Informação
  • Quem está online

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