MariaDB
 sql >> база данни >  >> RDS >> MariaDB

8 начина за добавяне на дни към дата в MariaDB

MariaDB предоставя няколко начина за добавяне на определен брой дни към дадена дата. Например, може да искате да добавите 10 дни към дата, или 30 дни, или дори само 1 ден. За щастие MariaDB прави това лесно.

Ето 8 начина да добавите брой дни към дадена дата в MariaDB.

ADDDATE() Функция

Нека започнем с ADDDATE() функция.

Тази функция има два различни синтаксиса. Първият синтаксис осигурява кратък начин за добавяне на определен брой дни към дата.

Пример:

SELECT ADDDATE('2021-05-01', 10); 

Резултат:

+---------------------+| ADDDATE('2021-05-01', 10) |+---------------------------+| 11.05.2021 г. |+--------------------------+

Използвайки този синтаксис, ние предоставяме два аргумента. Първият аргумент е датата, а вторият е броят на дните за добавяне към тази дата.

ADDDATE() Функция – Синтаксис 2

ADDDATE() функцията също има по-подробен синтаксис. Този синтаксис ни позволява да бъдем по-ясни в начина, по който добавяме дните към датата.

Пример:

SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY); 

Резултат:

+---------------------------------------+| ADDDATE('2021-05-01', ИНТЕРВАЛ 10 ДНИ) |+---------------------------------- ------+| 2021-05-11 |+-------------------------------------------------+ 

В този случай използваме INTERVAL ключова дума, последвана от броя дни, последвана от DAY ключова дума.

INTERVAL ключова дума се използва за добавяне или изваждане на интервал от време към DATETIME , DATE или TIME стойност. Можем да го използваме за дати, заедно с приложимата единица дата/час, за да добавим определен брой дни към нашата дата. В нашия случай единицата дата/час е DAY , но може също толкова лесно да бъде MONTH , YEAR , HOUR и др., както и редица композитни единици.

DATE_ADD() Функция

DATE_ADD() функцията работи по същия начин като ADDDATE() когато използвате многословния синтаксис. Всъщност, когато използвате подробния синтаксис, ADDDATE() е синоним на DATE_ADD() .

Пример:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY); 

Резултат:

+-----------------------------------+| DATE_ADD('2021-05-01', ИНТЕРВАЛ 10 ДЕН) |+---------------------------------- -------+| 2021-05-11 |+-------------------------------------------------+ 

SUBDATE() Функция – Синтаксис 1

SUBDATE() функцията ви позволява да изваждате сума към дата. Ако обаче предоставите отрицателна стойност за изваждане, тя накрая се добавя до датата.

Пример:

SELECT SUBDATE('2021-05-01', -10); 

Резултат:

+----------------------------+| SUBDATE('2021-05-01', -10) |+----------------------------+| 2021-05-11 |+----------------------------+

SUBDATE() Функция – Синтаксис 2

SUBDATE() функцията също има по-подробен синтаксис (подобно на ADDDATE() функция).

Пример:

SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY); 

Резултат:

+-----------------------------------+| SUBDATE('2021-05-01', ИНТЕРВАЛ -10 ДНИ) |+-------------------------------- --------+| 2021-05-11 |+-------------------------------------------------+ 

DATE_SUB() Функция

Ето пример, който използва DATE_SUB() функция:

SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY); 

Резултат:

+------------------------------------+| DATE_SUB('2021-05-01', ИНТЕРВАЛ -10 ДЕН) |+-------------------------------- ---------+| 2021-05-11 |+---------------------------------------------------+ 

+ Оператор

Друга възможност е да използвате + оператор.

+ Операторът се използва за извършване на добавяне и можем да го използваме за дати, заедно с приложимата единица дата/час, за да добавим определен брой дни към нашата дата.

Пример:

SELECT '2021-05-01' + INTERVAL 10 DAY; 

Резултат:

+--------------------------------+| '2021-05-01' + ИНТЕРВАЛ 10 ДНИ |+--------------------------------+| 11.05.2021 |+--------------------------------+

- Оператор

- Операторът може да се използва за изваждане на сума от дата. Ако обаче извадите отрицателно число, тогава към датата се добавя положителна сума:

SELECT '2021-05-01' - INTERVAL -10 DAY; 

Резултат:

+--------------------------------+| '2021-05-01' - ИНТЕРВАЛ -10 ДЕН |+--------------------------------+| 2021-05-11 |+--------------------------------+

БОНУС:ADDTIME() Функция

Казах, че тази статия съдържа 8 начина за добавяне на дни към дата, но ето няколко бонус функции! Може би трябваше да нарека тази статия „10 начина за добавяне на дни към стойност за дата и час“.

Както и да е, можете да използвате ADDTIME() функция за добавяне на брой дни към израз за дата и час.

Пример:

SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0'); 

Резултат:

+------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ -------------------+| 2021-05-02 10:30:45 |+---------------------------------------------- -----+

Можете също да промените другите единици за време, като часове, минути, секунди и т.н.

Като алтернатива можете да го превключите и да използвате SUBTIME() с отрицателна стойност, ако желаете:

SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0'); 

Резултат:

+----------------------------------------------+| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |+----------------------- ---------------------+| 2021-05-02 10:30:45 |+---------------------------------------------- ------+

Други единици за дата и час

Горните примери добавят няколко дни към датата, но можем да използваме същите техники, за да добавим всяка единица дата/час. Използваме DAY като единица дата/час, но както споменахме, може също толкова лесно да бъде MONTH , YEAR , HOUR и т.н., както и някоя от съставните единици.

Вижте Мерките за дата и час в MariaDB за пълен списък с единици за дата/час, които могат да се използват с горните функции и оператор.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на индексите в MySQL:Част първа

  2. Как DAYNAME() работи в MariaDB

  3. Как ADDDATE() работи в MariaDB

  4. Нова версия на MariaDB AX с участието на MariaDB ColumnStore 1.1.3 GA

  5. Как работи SEC_TO_TIME() в MariaDB