Использовать DATEDIFF
SELECT DATEDIFF(month, '2000-02-10','2000-01-10');
дает 1, поскольку 02-10 - один месяц после 01-10
, месяц можно изменить на день чтобы получить количество дней вместо этого.
Ссылка: http://www.1keydata.com/sql/sql-datediff.html
ОБНОВЛЕНИЕ: В MSQL вы можете использовать DATEDIFF, потому что в качестве аргумента можно передать месяц,версия MySQL возвращает только дни.В MySQL вы могли бы вместо этого использовать PERIOD_DIFF . Хотя он не знает точное количество дней в каждом месяце.
PERIOD_DIFF (P1, P2)
"Возвращает числомесяцев между периодами P1 и P2. P1 и P2 должны быть в формате YYMM или YYYYMM. Обратите внимание, что аргументы периода P1 и P2 не являются значениями даты. "
mysql> SELECT PERIOD_DIFF(200802,200703);
-> 11
Если вам необходимо точно знать, точно лисколько месяцев вам нужно, чтобы сделать многоступенчатый расчет.Чтобы узнать количество дней в месяце, вы можете использовать функцию LAST_DAY и из результатов извлечь часть дня и использовать ее в качестве основы для дальнейших расчетов.
LAST_DAY('2003-02-05');
-> '2003-02-28'