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

Как да извадите часове от стойност на дата и час в MariaDB

Ето някои опции за изваждане на един или повече часа от стойност за дата и час в MariaDB.

SUBTIME() Функция

SUBTIME() изважда даден период от време от стойност за час или дата и час.

Пример:

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

Резултат:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '01:00:00') |
+--------------------------------------------+
| 2021-05-01 09: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 09:00:00                              |
+--------------------------------------------------+

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

Пример:

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

Резултат:

+---------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE) |
+---------------------------------------------------------------+
| 2021-04-30 18:30:00                                           |
+---------------------------------------------------------------+

Предаване само на датата

Ето какво се случва, ако предоставим само стойност за дата:

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

Резултат:

+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-04-30 23:00:00                     |
+-----------------------------------------+

Предполага се, че времето започва от 00:00:00 и така HOUR сумата се изважда от това.

Няколко часа

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

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

Резултат:

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

Операторът за изваждане (- )

Друг начин за изваждане на часовете от израз за дата и време е да използвате оператора за изваждане (- ), известен също като оператор минус.

Пример:

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

Резултат:

+------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 48 HOUR |
+------------------------------------------+
| 2021-04-29 10:00:00                      |
+------------------------------------------+

Операторът за събиране (+ )

Като алтернатива можете да използвате оператора за добавяне (+ ) заедно с отрицателна сума.

Пример:

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

Резултат:

+-------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -48 HOUR |
+-------------------------------------------+
| 2021-04-29 10:00:00                       |
+-------------------------------------------+

Други начини за изваждане на часовете

Ето някои други подходи, които можете да използвате, за да извадите един или повече часа от стойност за дата и час:

  • ADDTIME() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).
  • SUBDATE() функция (това е синоним на DATE_SUB() когато се използва със същия синтаксис).
  • DATE_ADD() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).
  • ADDDATE() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).

  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. Как да управлявате MariaDB 10.3 с ClusterControl

  3. MariaDB идва в град близо до вас!

  4. Сравняване на Amazon RDS Recovery Point-in-Time с ClusterControl

  5. MariaDB POWER() Обяснено