Я думаю, что случай использования понятен. Это связано с количеством подлинных целых календарных месяцев между двумя датами, где дата окончания устанавливает, где заканчиваются периоды месяца. Таким образом, нет деления на 30 или любое другое приближение продолжительности месяца.
Вы можете использовать функции MONTH(), DAY() и YEAR() для разделения двух дат. Затем вы можете вычислить количество месяцев между месяцем первой даты и месяцем даты окончания включительно. Если день в первом месяце позже, чем день последнего месяца, уменьшите результат на 1.
(Возможно, убедитесь, что ранняя дата на самом деле тоже не позднее конечной).