¿Qué pasa con DATEDIFF función ?
Citando la página del manual:
DATEDIFF() devuelve expr1 – expr2expresado como un valor en días desde una fecha hasta la otra. expr1 y expr2son expresiones de fecha o de fecha y hora. En el cálculo, solo se utilizan las partes de fecha de los valores
En su caso, usaría:
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
Pero tenga en cuenta que las fechas deben escribirse como YYYY-MM-DD
, y no DD-MM-YYYY
como publicaste.