MySQL - Ayuda con operaciones de hora y fecha.

 
Vista:

Ayuda con operaciones de hora y fecha.

Publicado por Sergio_ivan_vr (5 intervenciones) el 17/10/2011 16:15:26
Hola buen dia.
Tengo el siguiente problema es para el trabajo y no logro resolverlo espero me puedan ayudar.

Tengo que saber las horas trabajadas por cada empleado, para eso tengo una tabla donde se registra la hora de inicio y hora de termino de cada activdad, las dos son tipo DATATIME,

Me interesa saber la resta de la hora de termino menos la de inicio para sumarlas y saber el total de horas de cada actividad, pero el problema es que los empleados pueden quedarse toda la noche asi que me interesa que cuando cambie la fecha el sistema pueda seguir haciendo el calculo de los tiempos, por ejemplo:

Si se registra el inicio de la actividad 2011/10/17 23:00:00 , y el termino 2011/10/18 01:00:00 , me de como resultado 2 hrs, con la consulta que yo hago me da -22 hrs y no me da las horas que deseo.
La consulta que hago es la siguiente:

select empleado.nombre_empleado ,sum(hora_termino-.hora_inicio)
from empleado

No se si tenga que usar alguna funcion especifica, el tipo de dato este mal, o que tenga que hacer uso de varias funciones al mismo tiempo.

Les agradeceria su ayuda saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con operaciones de hora y fecha.

Publicado por Sergio.ivan.vr (5 intervenciones) el 18/10/2011 18:39:00
Hola les comento que ya pude resolver el problema primero cambie a tipo de dato timestamp, y use la siguiente consulta:

select sum(unix_timestamp(tiempo_actividad.hora_termino)-unix_timestamp(tiempo_actividad.hora_inicio))/3600 as Horas_decimal
from tiempo_actividad

esto me devolvio el tiempo en segundos, si se quiere convertir a formato de hora hh:mm:ss, se usa la funcion SEC_TO_TIME.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con operaciones de hora y fecha.

Publicado por Janior Alexander (3 intervenciones) el 10/11/2011 04:17:21
Hola, también hubieses podido usar la función TIMEDIFF que te devuelve la diferencia de horas entre dos fechas, por supuesto el primer parámetro es la fecha final y el segundo es la fecha de inicio.

SELECT TIMEDIFF('2011/10/18 01:00:00','2011/10/17 23:00:00');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar