А как насчет функции DATEDIFF ?
Цитата из страницы руководства:
DATEDIFF () возвращает expr1 - expr2 {{ 1}} выражается как значение в днях от одной даты до другой. expr1 и expr2 являются выражениями даты или даты и времени. При вычислении используются только части значений даты.
В вашем случае вы должны используйте:
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
Но обратите внимание, что даты должны быть записаны как ГГГГ-ММ-ДД
, а не ДД-ММ-ГГГГ
, как вы писали.
Используйте функцию РАЗНДАТ ()
.
Пример из документации:
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1