E o DATEDIFF função?
Citando a página do manual:
DATEDIFF() retorna expr1 – expr2expresso como um valor em dias de uma data para a outra. expr1 e expr2 são expressões de data ou data e hora. Somente as partes de data dos valores são usadas no cálculo
No seu caso, você usaria:
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
Mas observe que as datas devem ser escritas como
YYYY-MM-DD
, e não DD-MM-YYYY
como você postou.