Tema: Sumar horas
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/11/2012, 12:52
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Sumar horas

Hola neocalichin:

En tu primer post intentaste usar la función TIMEDIFF, pero creo que no te tomaste el tiempo para revisar la documentación... pues la función TIMEDIFF requiere DOS PARÁMETROS, y no tres, como estás intentando usar...

Cita:
TIMEDIFF(expr,expr2)

TIMEDIFF() retorna el tiempo entre la hora de inicio expr y la hora final expr2. expr y expr2 son expresiones de hora o de fecha/hora, pero ambas deben ser del mismo tipo.
Ahora bien, en tus post no lo mencionas directamente pero supongo que tus campos son de tipo TIME cierto??? si es así podrías hacerlo sencillamente así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+------------+------------+------------+
  3. | id   | horainicio | horasalida | refrigerio |
  4. +------+------------+------------+------------+
  5. |    1 | 08:20:00   | 18:40:00   | 00:30:00   |
  6. |    2 | 07:00:00   | 16:20:00   | 00:20:00   |
  7. |    3 | 08:31:51   | 18:40:54   | 01:03:59   |
  8. |    4 | 00:00:00   | 23:59:59   | 12:00:00   |
  9. |    5 | 08:29:41   | 16:59:15   | 00:29:00   |
  10. +------+------------+------------+------------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> SELECT
  14.     ->   id, horainicio, horasalida, refrigerio,
  15.     ->   TIMEDIFF(TIMEDIFF(horasalida, horainicio), refrigerio) tiempo_activo
  16.     -> FROM tabla;
  17. +------+------------+------------+------------+---------------+
  18. | id   | horainicio | horasalida | refrigerio | tiempo_activo |
  19. +------+------------+------------+------------+---------------+
  20. |    1 | 08:20:00   | 18:40:00   | 00:30:00   | 09:50:00      |
  21. |    2 | 07:00:00   | 16:20:00   | 00:20:00   | 09:00:00      |
  22. |    3 | 08:31:51   | 18:40:54   | 01:03:59   | 09:05:04      |
  23. |    4 | 00:00:00   | 23:59:59   | 12:00:00   | 11:59:59      |
  24. |    5 | 08:29:41   | 16:59:15   | 00:29:00   | 08:00:34      |
  25. +------+------------+------------+------------+---------------+
  26. 5 rows in set (0.00 sec)

haz la prueba y nos comentas.

Saludos
Leo.