MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

8 sposobów na dodanie godziny do daty w MariaDB

Istnieje wiele sposobów wykonywania arytmetyki dat w MariaDB. Obejmuje to dodawanie lub odejmowanie określonej liczby danej części daty od wartości daty lub czasu.

W tym artykule przedstawiam 8 sposobów na dodanie godziny do wartości datetime w MariaDB.

DATE_ADD() Funkcja

DATE_ADD() funkcja umożliwia dodanie kwoty do wyrażenia daty lub daty i godziny. Obejmuje to dodawanie części czasu, takich jak godzina.

Przykład:

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

Wynik:

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

W tym przypadku dodałem godzinę do wyrażenia daty i godziny.

Oto, co się stanie, jeśli podam tylko datę:

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

Wynik:

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

Część czasu jest dodawana do wyniku i zakłada się, że początkowy czas to 00:00:00 .

Jeśli potrzebujesz dodać więcej niż godzinę, użyj tego numeru zamiast 1 . Zwróć uwagę, że HOUR słowo kluczowe pozostaje w liczbie różnej niezależnie od:

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

Wynik:

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

Możliwe jest również użycie innej jednostki daty/czasu z odpowiednim numerem tej jednostki. Dlatego możesz określić określoną liczbę minut, na przykład 60 lub 120.

Przykład:

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

Wynik:

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

Możesz również użyć złożonej jednostki daty/godziny, aby dodać wiele jednostek. Na przykład, jeśli chcesz dodać 1 godzinę i 30 minut, możesz to zrobić:

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

Wynik:

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

Zobacz MariaDB Date and Time Units, aby uzyskać pełną listę jednostek daty/czasu.

ADDDATE() Funkcja

Innym sposobem dodania godziny do wyrażenia daty i godziny jest użycie funkcji ADDDATE() funkcjonować. Ta funkcja ma dwie składnie:

  1. Jedna składnia pozwala dodać liczbę dni do daty, czego nie robimy tutaj (chyba że planujemy dodać 24 godziny).
  2. Inna składnia jest taka sama jak w przypadku DATE_ADD() funkcja powyżej. Używając tej składni, ADDDATE() jest synonimem DATE_ADD() .

Przykład:

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

Wynik:

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

DATE_SUB() Funkcja

DATE_SUB() funkcja umożliwia odejmowanie kwota do daty. Jeśli jednak podasz wartość ujemną do odjęcia, zostanie ona dodana do daty.

Przykład:

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

Wynik:

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

SUBDATE() Funkcja

SUBDATE() funkcja jest synonimem DATE_SUB() używając następującej składni.

Przykład:

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

Wynik:

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

+ Operator

Inną opcją jest użycie + operator.

+ operator jest używany do dodawania i możemy go używać w datach, wraz z odpowiednią jednostką daty/godziny, aby dodać określoną liczbę godzin do naszej daty.

Przykład:

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

Wynik:

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

- Operator

- Operator może służyć do odejmowania kwoty od daty. Ale jeśli jest używany do odejmowania liczby ujemnej, wynikiem jest dodatnia kwota dodana do daty:

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

Wynik:

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

ADDTIME() Funkcja

Możesz użyć ADDTIME() funkcja dodawania liczby godzin do wyrażenia daty i godziny.

Przykład:

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

Wynik:

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

Jedną z zalet tej funkcji jest możliwość zmiany innych jednostek czasu, takich jak minuty, sekundy itp.

SUBTIME() Funkcja

Alternatywnie możesz to zmienić i użyć SUBTIME() z ujemną wartością, jeśli sobie tego życzysz:

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

Wynik:

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

Inne jednostki daty i czasu

Powyższe przykłady dodają liczbę godzin do wartości datetime, ale możemy użyć tych samych technik, aby dodać dowolną jednostkę daty/czasu. Zobacz MariaDB Date and Time Units, aby uzyskać pełną listę jednostek daty/czasu, których można używać z powyższymi funkcjami i operatorami.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalacja offline klastra MariaDB dla CentOS

  2. Pełna lista zestawień obsługiwanych przez MariaDB

  3. Zabezpieczanie kopii zapasowych MySQL:przewodnik

  4. Wskazówki dotyczące zarządzania schematami dla MySQL i MariaDB

  5. Skuteczne monitorowanie replikacji MySQL za pomocą pulpitów nawigacyjnych SCUMM:część 2