Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/12/2008, 07:44
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con datos tipo time

Estás usando incorrectamente las funciones. ROUND() no cumple ninguna funcionalidad cuando debes hacer un cálculo de tiempos (genera decimales que no tienen uso) en los que operas con los restos de división:

- (TotalSegundos DIV 86400 )
Esto te devuelve la cantidad de días completos sobre una sumatoria de segundos.

- (TotalSegundos % 86400)
Esto te devuelve el total de segundos restantes, sacando los que suman los días. Sobre este resto tienes que calcular las horas. Existen dos forma sde manejarlas: a) Las calculas como numeros enteros, b) las representas como HH:mm:ss.
a) En el primer caso es ((TotalSegundos % 86400) DIV 3600), y si quieres los minutos: ((TotalSegundos % 86400) % 3600), y los segundos: (((TotalSegundos % 86400) % 3600) % 60)
b) En el segundo caso es SEC_TO_TIME((TotalSegundos % 86400) ). Como el resto es inferior a 86400, la creación de un TIME dará un valor entre 00:00:00 y 23:59:59
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)