mysql.h
SUBDATE()
SUBDATE(date,INTERVAL expr type) SUBDATE(expr,days)
Cuando se invoca con el formato INTERVAL en el segundo argumento, SUBDATE() es un sinónimo de DATE_SUB().
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY); +-----------------------------------------+ | DATE_SUB('1998-01-02', INTERVAL 31 DAY) | +-----------------------------------------+ | 1997-12-02 | +-----------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY); +----------------------------------------+ | SUBDATE('1998-01-02', INTERVAL 31 DAY) | +----------------------------------------+ | 1997-12-02 | +----------------------------------------+ 1 row in set (0.00 sec)
Desde la versión MySQL 4.1.1, se permite la segunda sintaxis, donde expr es una expresión de fecha o de fecha y hora y days es el número de días a restar desde expr.
mysql> SELECT SUBDATE('1998-01-02 12:00:00', 31); -> '1997-12-02 12:00:00'