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

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

Ако трябва да добавите една или повече секунди към стойност за дата и час в MariaDB, ето 8 опции, които да разгледате.

DATE_ADD() Функция

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

Пример:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Резултат:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

В този случай добавих 35 секунди към израза за дата и час. Обърнете внимание, че SECOND ключовата дума остава не в множествено число, независимо дали добавям една секунда или повече.

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

SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);

Резултат:

+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 SECOND) |
+--------------------------------------------+
| 2021-05-01 00:00:35                        |
+--------------------------------------------+

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

Когато добавяме 60 секунди, можем алтернативно да използваме MINUTE ключова дума, ако предпочитаме:

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

Резултат:

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

Тази техника очевидно работи със 120 секунди, 180 и т.н. Просто използвайте съответния брой минути.

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

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

Резултат:

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

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

ADDDATE() Функция

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

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

Пример:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Резултат:

+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+----------------------------------------------------+
| 2021-05-01 10:00:35                                |
+----------------------------------------------------+

DATE_SUB() Функция

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

Пример:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Резултат:

+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+------------------------------------------------------+
| 2021-05-01 10:00:35                                  |
+------------------------------------------------------+

SUBDATE() Функция

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

Пример:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Резултат:

+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

+ Оператор

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

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

Пример:

SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;

Резултат:

+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 SECOND |
+--------------------------------------------+
| 2021-05-01 10:00:35                        |
+--------------------------------------------+

- Оператор

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

SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;

Резултат:

+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 SECOND |
+---------------------------------------------+
| 2021-05-01 10:00:35                         |
+---------------------------------------------+

ADDTIME() Функция

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

Пример:

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

Резултат:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 10:00:30                        |
+--------------------------------------------+

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

SUBTIME() Функция

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

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

Резултат:

+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:30') |
+---------------------------------------------+
| 2021-05-01 10:00:30                         |
+---------------------------------------------+

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

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

  2. Как да използвате механизма за отказване на MaxScale

  3. Висока достъпност на базата данни за Camunda BPM с помощта на MySQL или MariaDB Galera Cluster

  4. Какво е MariaDB Enterprise и как да го управляваме с ClusterControl?

  5. Избягване на блокиране на доставчик на база данни за MySQL или MariaDB