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'