trabajadas minutos meses horas funciones fechas fecha entre diferencia dias calcular años mysql sql timestamp

mysql - meses - Cálculo de la diferencia de tiempo entre 2 fechas en minutos.



datediff horas y minutos sql (4)

Creo que podrías usar TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) algo como

select * from MyTab T where TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20

Tengo una marca de tiempo del campo de tiempo en mi base de datos MySQL que se asigna a un tipo de datos DATE en mi bean. Ahora quiero una consulta mediante la cual puedo obtener todos los registros en la base de datos para los cuales la diferencia entre la marca de tiempo actual y la almacenada en la base de datos es> 20 minutos.

¿Cómo puedo hacerlo?

Lo que quiero es:

SELECT * FROM MyTab T WHERE T.runTime - now > 20 minutes

¿Existen funciones de MySQL para esto, o alguna forma de hacerlo en SQL?


Estoy usando el siguiente código para hoy y la fecha de la base de datos.

(TIMESTAMPDIFF(MINUTE,NOW(),EndDate))%60 as Minutes

Aquí podemos usar HORA (por horas -% 24), DÍA (por días - sin necesidad de%) en lugar de MINUTE si lo necesitamos.


Prueba este:

select * from MyTab T where date_add(T.runTime, INTERVAL 20 MINUTE) < NOW()

NOTA: esto debería funcionar si estás usando el formato DateTime de MySQL. Si está usando la marca de tiempo Unix (entero), entonces sería aún más fácil:

select * from MyTab T where UNIX_TIMESTAMP() - T.runTime > 20*60

La función UNIX_TIMESTAMP () le devuelve la marca de tiempo actual de Unix.


ROUND(time_to_sec((TIMEDIFF(NOW(), "2015-06-10 20:15:00"))) / 60);