MariaDB предоставя няколко начина за извършване на аритметика на дати. Това включва добавяне или изваждане на година (или много години) от дадена дата.
Ето пример за изваждане на година от дата в MariaDB.
DATE_SUB()
Функция
DATE_SUB()
функцията ви позволява да извадите определен брой единици от дадена дата. Следователно можете да върнете датата, минус няколко дни, седмици, месеци, години и т.н.
В нашия случай искаме да извадим година.
Пример:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 YEAR);
Резултат:
+-----------------------------------+| DATE_SUB('2021-05-01', ИНТЕРВАЛ 1 ГОДИНА) |+---------------------------------- -------+| 2020-05-01 |+--------------------------------------------------+предварително>Няколко години
Ако трябва да извадите повече от една година, просто използвайте това число вместо
1
. Въпреки това,YEAR
ключовата дума остава не в множествено число, независимо:SELECT DATE_SUB('2021-05-01', INTERVAL 2 YEAR);
Резултат:
+-----------------------------------+| DATE_SUB('2021-05-01', ИНТЕРВАЛ 2 ГОДИНИ) |+---------------------------------- -------+| 2019-05-01 |+-------------------------------------------------+предварително>Операторът за изваждане (
-
)Друг начин да извадите година от дата е да използвате оператора за изваждане (
-
), известен също като оператор минус.Пример:
SELECT '2021-05-01' - INTERVAL 1 YEAR;
Резултат:
+--------------------------------+| '2021-05-01' - ИНТЕРВАЛ 1 ГОДИНА |+--------------------------------+| 01.05.2020 |+--------------------------------+Операторът за събиране (
+
)Като алтернатива можете да използвате оператора за добавяне (
+
) заедно с отрицателна сума.Пример:
SELECT '2021-05-01' + INTERVAL -1 YEAR;
Резултат:
+--------------------------------+| '2021-05-01' + ИНТЕРВАЛ -1 ГОДИНА |+--------------------------------+| 01.05.2020 |+--------------------------------+Други начини за изваждане на години от дати
Ето някои други подходи, които можете да използвате, за да извадите една или повече години от дадена дата:
SUBDATE()
функция (това е синоним наDATE_SUB()
когато се използва със същия синтаксис).DATE_ADD()
функция (предоставянето на отрицателна сума ще извади тази сума от датата).ADDDATE()
функция (предоставянето на отрицателна сума ще извади тази сума от датата).