[firebase-br] Problema consulta com intervalos de hora
Leandro Rezende
leandrofabior em gmail.com
Ter Dez 18 17:02:43 -03 2007
preciso de uma consulta pra calcular e mostra como time os intervalo abaixo
descobri q quando faco time2 - time1 o firebird retorna a quantidade de
segundos no intervalo em um double
para transformar em hora usei a seguinte consulta
select cod_turno,
cast (cast((saida1 - entrada1)/3600 as integer) ||':'||cast( ((saida1 -
entrada1) - 3600*cast((saida1 - entrada1)/3600 as integer))/60 as integer)
as time) as total1P,
cast (cast((saida2 - entrada2)/3600 as integer) ||':'||cast( ((saida2 -
entrada2) - 3600*cast((saida2 - entrada2)/3600 as integer))/60 as integer)
as time) as total2P,
cast (cast((saida3 - entrada3)/3600 as integer) ||':'||cast( ((saida3 -
entrada3) - 3600*cast((saida3 - entrada3)/3600 as integer))/60 as integer)
as time) as total3P
from turno
o problema e quando a divisao da por exemplo 5,9 o fb arredonda pra 6, ai
aparece um valor negativo nos minutos e danousse tudo, precisaria de um
modo de truncar (saida2 - entrada2)/3600 ao inves de fazer o cast. Alguem
tem alguma opiniao oiu ideia?
Mais detalhes sobre a lista de discussão lista