Para restar 30 días a la fecha actual, primero tenemos que obtener la información sobre la fecha y hora actual, y luego utilizar el método now() de MySQL. El método now() da la fecha y hora actual.
El método a utilizar para esto es DATE_SUB() de MySQL. Aquí está la sintaxis para restar 30 días de la fecha actual.
La sintaxis es la siguiente –
DATE_SUB(NOW(),INTERVAL 30 DAY);
La sintaxis anterior calcula la fecha actual primero y en el siguiente paso, resta 30 días. Primero veamos la consulta para obtener la fecha actual –
mysql> select now();
Aquí está la salida –
+---------------------+| now() |+---------------------+| 2018-11-23 16:38:43 |+---------------------+1 row in set (0.00 sec)
Ahora, usemos el método date_sub() para restar 30 días. La consulta es la siguiente –
mysql> select date_sub(now(),interval 30 day);
Aquí está la salida mostrando una fecha después de restar 30 días –
+---------------------------------+| date_sub(now(),interval 30 day) |+---------------------------------+| 2018-10-24 16:38:50 |+---------------------------------+1 row in set (0.00 sec)
Para obtener sólo el valor de la fecha en el resultado, puede utilizar curdate() en lugar de now(). Aquí está la demostración de curdate().
La consulta es la siguiente –
mysql> select date_sub(curdate(),interval 30 day);
La siguiente es la salida –
+-------------------------------------+| date_sub(curdate(),interval 30 day) |+-------------------------------------+| 2018-10-24 |+-------------------------------------+1 row in set (0.00 sec)