Я использую функцию MySQL TIMESTAMPDIFF()
для вычисления разницы в месяцах между двумя датами, но есть проблема с переполнением.
Допустим, у меня есть дата, и я использую MySQL для вычисления этой же даты через 1 месяц:
select DATE_ADD('2018-10-31', INTERVAL 1 MONTH)
возврат 2018-11-30
Итак, теперь у меня есть две даты, 2018-10-31 и 2018-11-30.
Теперь я хотел бы вычислить интервал в месяцах между этими датами, но
select TIMESTAMPDIFF(MONTH, '2018-10-31', '2018-11-30')
возвращает 0
из-за количества дней в ноябре, на которое корректируется DATE_ADD ().
Таким образом, учитывая две даты, которые рассчитываются, как указано выше, с помощью DATE_ADD () и с интервалом n месяцев, можно использовать либо TIMESTAMPDIFF (), либо другую функцию для вычисления n