Вычисление интервалов между датами


Чтобы вычислить интервал в днях между датой и значением, дата и время
пребразуйте их в дни с помощью функции TO_DAYS(), а затем вычислите разность.

SELECT TO_DAYS('1884-01-01') - TO_DAYS('1883-06-05') AS days

+------+
| days |
+------+
|  210 |
+------+

Чтобы вычислить интервал в неделях, выполничте те же операции и разделите на 7.

SELECT (TO_DAYS('1884-01-01') - TO_DAYS('1883-06-05'))/7 AS weeks

+------+
|weeks |
+------+
|  30  |
+------+

Если вам нужно вычислить разность в годах, используйте функцию YEAR()

SELECT (YEAR('1884-01-02') - YEAR('1883-01-01')) AS years

+------+
|years |
+------+
|  1   |
+------+