[firebase-br] Res: SUM em campo do tipo TIME

marcos thomaz marcosthomazs em yahoo.com.br
Qua Out 31 20:26:33 -03 2007


Você pode "quebrar" o valor hora em segundos por exemplo, e somar essa quantidade, voltando a tratar como hora depois.Tipo:

SELECT SUM( EXTRACT(HOUR FROM TEMPO_ATENDIMENTO)*3600 + 
                          EXTRACT(MINUTE FROM TEMPO_ATENDIMENTO)*60 + 
                          EXTRACT(SECOND FROM TEMPO_ATENDIMENTO) ) 
FROM TB_CONTATO 
WHERE ID_ATENDIMENTO = 174

E pra complementar, você pode criar uma Stored Procedure para tratar isso, ou tratar na aplicação, ou usar uma UDF ou até mesmo uma View. 
Uma Observação: Se for usar uma procedure, use o retorno do tipo String, pois se a quantidade passar de 23 horas, 59 minutos e 59 segundos, ele irá incrementar 1 dia e irá reiniciar a partir da 0 hora. 


----- Mensagem original ----
De: Marcelo Moreira <marcelo em easysistemasmg.com.br>
Para: lista em firebase.com.br
Enviadas: Quarta-feira, 31 de Outubro de 2007 13:51:02
Assunto: [firebase-br] SUM em campo do tipo TIME

Pessoal,

Bom dia a todos!



                Tenho a seguinte tabela e campos em um banco Firebird 1.5



TB_CONTATO

  ID_ATENDIMENTO                INTEGER

  TEMPO_ATENDIMENTO    TIME



O que eu estou precisando fazer seria isto:



select SUM(TEMPO_ATENDIMENTO) from TB_CONTATO where ID_ATENDIMENTO = 174



Ou seja eu preciso somar o tempo de todos os atendimentos de código 174.

Ao que parece isso não é suportado pelo BD.

Alguém saberia me responder se eu poderia usar alguma função do BD para
obter o resultado esperado?

Obrigado pela atenção.

Abraços!



Marcelo Moreira




No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.503 / Virus Database: 269.15.14/1100 - Release Date: 30/10/2007
18:26

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
http://br.mail.yahoo.com/


Mais detalhes sobre a lista de discussão lista