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

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

Има много начини за извършване на аритметика по дати в MariaDB. Това включва добавяне или изваждане на определен брой от дадена част от дата от стойност на дата или час.

В тази статия представям 8 начина за добавяне на час към стойност за дата и час в MariaDB.

DATE_ADD() Функция

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

Пример:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Резултат:

+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00                              |
+--------------------------------------------------+

В този случай добавих един час към израза за дата и час.

Ето какво се случва, ако предоставя само датата:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 HOUR);

Резултат:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-05-01 01:00:00                     |
+-----------------------------------------+

Частта от времето се добавя към резултата и се приема, че първоначалното време е 00:00:00 .

Ако трябва да добавите повече от един час, просто използвайте този номер вместо 1 . Имайте предвид, че HOUR ключовата дума остава не в множествено число, независимо:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR);

Резултат:

+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
+--------------------------------------------------+
| 2021-05-01 12:00:00                              |
+--------------------------------------------------+

Възможно е също да използвате друга единица за дата/час с подходящия номер на тази единица. Следователно можете да посочите определен брой минути, като 60 или 120.

Пример:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE);

Резултат:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 11:00:00                                 |
+-----------------------------------------------------+

Можете също да използвате съставна единица за дата/час, за да добавите няколко единици. Например, ако искате да добавите 1 час и 30 минути, можете да направите това:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);

Резултат:

+--------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |
+--------------------------------------------------------------+
| 2021-05-01 11:30:00                                          |
+--------------------------------------------------------------+

Вижте Мерките за дата и час в MariaDB за пълен списък с единици за дата/час.

ADDDATE() Функция

Друг начин да добавите час към израз за дата и час е да използвате ADDDATE() функция. Тази функция има два синтаксиса:

  1. Един синтаксис ви позволява да добавите няколко дни към дата, което не е това, което правим тук (освен ако не планираме да добавим 24 часа).
  2. Другият синтаксис е същият като при DATE_ADD() функция по-горе. Когато използвате този синтаксис, ADDDATE() е синоним на DATE_ADD() .

Пример:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Резултат:

+-------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+-------------------------------------------------+
| 2021-05-01 11:00:00                             |
+-------------------------------------------------+

DATE_SUB() Функция

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

Пример:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR);

Резултат:

+---------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR) |
+---------------------------------------------------+
| 2021-05-01 11:00:00                               |
+---------------------------------------------------+

SUBDATE() Функция

SUBDATE() функцията е синоним на DATE_SUB() когато използвате следния синтаксис.

Пример:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR);

Резултат:

+--------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00                              |
+--------------------------------------------------+

+ Оператор

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

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

Пример:

SELECT '2021-05-01 10:00:00' + INTERVAL 1 HOUR;

Резултат:

+-----------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-01 11:00:00                     |
+-----------------------------------------+

- Оператор

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

SELECT '2021-05-01 10:00:00' - INTERVAL -1 HOUR;

Резултат:

+------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -1 HOUR |
+------------------------------------------+
| 2021-05-01 11:00:00                      |
+------------------------------------------+

ADDTIME() Функция

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

Пример:

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

Резултат:

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

Едно от предимствата на тази функция е, че можете да промените и другите единици за време, като минути, секунди и т.н.

SUBTIME() Функция

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

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

Резултат:

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

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

Горните примери добавят определен брой часове към стойността дата и час, но можем да използваме същите техники, за да добавим всяка единица дата/час. Вижте Мерките за дата и час в 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. Как QUARTER() работи в MariaDB

  2. MariaDB SYSTEM_USER() Обяснено

  3. Предоставяне на по-бързи иновации в общността на MariaDB

  4. Как CONCAT() работи в MariaDB

  5. Разлика между SYSDATE() и NOW() в MariaDB