[Lazarus-es] trabajando con horas
José Mejuto
joshyfun en gmail.com
Lun Oct 18 00:34:56 CEST 2010
Hello christian,
Monday, October 18, 2010, 12:14:58 AM, you wrote:
>> Select
>> Cast(secs/3600 - 0.499999999999 as INTEGER) as Hours,
>> Cast((secs - Cast(secs/ 3600 - 0.499999999999 as INTEGER)*3600)/ 60 -
>> 0.499999999999 as INTEGER) as Minutes,
>> secs- (Cast(secs/3600 - 0.499999999999 as INTEGER)*3600+Cast((secs -
>> Cast(secs/ 3600 - 0.499999999999 as INTEGER)*3600)/ 60 - 0.499999999999 as
>> INTEGER)*60) as Seconds
>> from (
>> select SUM(TIME_FIELD - cast('0:0' as time)) as secs
>> from TTABLE )
>>
>> Se tiene que hacer tanta cosa en Firebird???? ya se que motor de bd no debo
cO> usar ....
No hombre, es que los campos TIME no se pueden sumar, ni en Firebird
ni en nada. Se soluciona fácilmente con una "stored procedure" o más
fácil aún con una UDF. Eso es si se quiere hacer con un "select" sin
más cosas.
No puedes usar un campo TIME por que la suma puede pasar de 24 horas,
límite máximo para la hora de TIME.
--
Best regards,
José
More information about the Lazarus-es
mailing list