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