sql >> Base de Datos >  >> RDS >> Mysql

SELECCIONE todos los registros que tienen 30 días de antigüedad

Si el tipo de datos de updatestatus es date :

SELECT * 
FROM people 
WHERE updatestatus <= '2012-01-01'

o:

SELECT * 
FROM people 
WHERE updatestatus <= CURRENT_DATE() - INTERVAL 1 MONTH

Si el tipo de datos es datetime o timestamp y también desea verificar la parte de tiempo:

SELECT * 
FROM people 
WHERE updatestatus <= NOW() - INTERVAL 1 MONTH

Puede poner una fecha y hora exacta en lugar de NOW() - INTERVAL 1 MONTH . La forma correcta depende de cómo almacene las fechas y horas o las marcas de tiempo (¿las crea el código Perl o MySQL en primer lugar?).

También podrías poner - INTERVAL 30 DAY que producen resultados ligeramente diferentes.