timestampdiff funciones fecha example ejemplos ejemplo mysql time

funciones - Diferencia en minutos de dos campos de tiempo en MySQL



timestampdiff (4)

Configuré mi base de datos MySQL con el campo ''tiempo''

No es HH: MM en el sentido tradicional, es el momento en que ocurrió un evento, por lo que un evento con el valor de 5:45 ocurrió con 5 minutos y 45 segundos por jugar en un juego. 12:25 ocurrió con 12 minutos y 25 segundos restantes, etc.

Me gustaría poder saber el tiempo total transcurrido, por lo que si tengo un evento que ocurrió a las 12:25 y el siguiente evento a las 5:45 quiero poder obtener la diferencia, que sería igual a 6:40. Entonces, me gustaría expresar esto como un decimal, en este caso 6.67.

es posible?

Gracias por adelantado.


Necesitaba similar. Dos funciones útiles: TIME_TO_SEC y SUBTIME .

por ejemplo, si sus campos de tiempo eran normales HH: MM veces, entonces

SELECT (TIME_TO_SEC(end_time) - TIME_TO_SEC(start_time))/60 AS `minutes`

En su caso, como yo lo entiendo, los tiempos están al revés, es decir. 12:00<6:00 por lo que su fin_tiempo y tiempo_de_inicio necesitarán un intercambio.

Si quisieras la salida en HH: MM: SS podrías hacer

SELECT SUBTIME(end_time, start_time)



Solo usa

TIMEDIFF(fromtime, totime): SELECT TIMEDIFF("12:25", "5:45");

Si necesita un decimal, use TIME_TO_SEC()/3600 (se supone que pasó segundos, pero el formato en el que está almacenando los tiempos es vago y SQL probablemente los interpretará como HH: MM; puede corregirlo con CONCAT("00:",MinuteSecondField) quizás?) - entonces puedes usar TIME_TO_SEC()/60 , que es más correcto)


Usé UNIX_TIMESTAMP (evento1) -UNIX_TIMESTAMP (evento2), lo que te da segundos entre eventos. Divídalo por 60.0 y obtendrá un decimal según su requisito. Esta solución supone que sus columnas son valores compatibles con la fecha. Funcionará muy rápido si son TIMESTAMPs.

ACTUALIZACIÓN: esta solución solo funciona con los tipos de datos de marca de tiempo, no con tipos de datos de tiempo como en la pregunta original.