MariaDB udostępnia wiele sposobów wykonywania arytmetyki dat. 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 jednej lub więcej minut do wartości daty i godziny 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 minuty.
Przykład:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Wynik:
+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00 |
+-----------------------------------------------------+
W tym przypadku dodałem 35 minut do wyrażenia datetime. Zwróć uwagę, że MINUTE słowo kluczowe pozostaje w liczbie innej niż liczba mnoga, niezależnie od tego, czy dodaję minutę, czy więcej.
Oto, co się stanie, jeśli podam tylko datę:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE); Wynik:
+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) |
+--------------------------------------------+
| 2021-05-01 00:35:00 |
+--------------------------------------------+
Część czasu jest dodawana do wyniku i zakłada się, że początkowy czas to 00:00:00 .
Dodając 60 minut, możemy użyć HOUR słowo kluczowe, jeśli wolimy:
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 |
+--------------------------------------------------+ Oczywiście ta technika działa z 120 minutami, 180 minutami i tak dalej. Po prostu użyj odpowiedniej liczby godzin.
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 dodawania minut do wyrażenia daty i godziny jest użycie funkcji ADDDATE() funkcjonować. Ta funkcja ma dwie składnie:
- Jedna składnia pozwala dodać liczbę dni do daty, czego nie robimy tutaj (chyba że planujemy dodawać minuty w blokach po 1440, czyli ile minut przypada na dzień).
- Inna składnia jest taka sama jak w przypadku
DATE_ADD()funkcja powyżej. Używając tej składni,ADDDATE()jest synonimemDATE_ADD().
Przykład:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Wynik:
+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:35:00 |
+----------------------------------------------------+ DATE_SUB() Funkcja
DATE_SUB() funkcja umożliwia odejmowanie kwota do wyrażenia daty/daty/godziny. Jeśli jednak podasz wartość ujemną do odjęcia, zostanie ona dodana do daty/godziny.
Przykład:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE); Wynik:
+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+------------------------------------------------------+
| 2021-05-01 10:35: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 -35 MINUTE); Wynik:
+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35: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ę minut do naszej daty.
Przykład:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE; Wynik:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MINUTE | +--------------------------------------------+ | 2021-05-01 10:35: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 -35 MINUTE; Wynik:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MINUTE | +---------------------------------------------+ | 2021-05-01 10:35:00 | +---------------------------------------------+
ADDTIME() Funkcja
Możesz użyć ADDTIME() funkcja dodawania liczby minut do wyrażenia daty i godziny.
Przykład:
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00'); Wynik:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 10:30:00 |
+--------------------------------------------+ Jedną z zalet tej funkcji jest możliwość zmiany innych jednostek czasu, takich jak godziny, 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:00:00', '-00:30:00'); Wynik:
+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-05-01 10:30:00 |
+---------------------------------------------+ Inne jednostki daty i czasu
Powyższe przykłady dodają liczbę minut do wartości daty i czasu, 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.