¿Cómo consulta MySQL los datos cuyo tiempo de actualización es de unas pocas horas?

  La tabla de base de datos MySQL tbl_mgm_test tiene un campo rec_upd_ts (tiempo de actualización del registro), el tipo de datos es marca de tiempo, la restricción no nula es NOT NULL y el valor predeterminado es DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP.

  Como el título, ¿cómo consultar los datos actualizados en 3 horas? La declaración SQL es la siguiente.

SELECT * FROM tbl_mgm_test WHERE rec_upd_ts >= DATE_SUB(NOW(), INTERVAL 3 HOUR);

SELECT * FROM tbl_mgm_test WHERE TIMESTAMPDIFF(SECOND , rec_upd_ts, NOW()) <= 3*60*60;

SELECT * FROM tbl_mgm_test WHERE rec_upd_ts >= DATE_ADD(NOW(),INTERVAL -3 HOUR);

  Nota: La siguiente oración no puede encontrar con precisión los datos dentro de las 3 horas a partir de la hora actual, pero solo encuentra los datos dentro de las 3 horas posteriores a la unidad de tiempo hora y la hora actual. Los datos consultados incluyen datos dentro de las 3 horas y más allá pero menos de 4 horas de datos (por ejemplo, la hora actual es 2020-09-21 10:58:20, la oración a continuación no puede encontrar con precisión los datos después del 2020-09-21 07:58:20, los datos encontrados Datos después del 21-09-2020 06:58:20).

SELECT * FROM tbl_mgm_test WHERE TIMESTAMPDIFF(HOUR , rec_upd_ts, NOW()) <= 3;

Supongo que te gusta

Origin blog.csdn.net/piaoranyuji/article/details/108704274
Recomendado
Clasificación