Jeśli potrzebujesz dodać jedną lub więcej sekund do wartości daty i godziny w MariaDB, oto 8 opcji do rozważenia.
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 godziny, minuty, sekundy itp.
Przykład:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);
Wynik:
+-----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) | +-----------------------------------------------------+ | 2021-05-01 10:00:35 | +-----------------------------------------------------+
W tym przypadku dodałem 35 sekund do wyrażenia datetime. Zwróć uwagę, że SECOND
słowo kluczowe pozostaje w liczbie innej niż liczba mnoga, niezależnie od tego, czy dodaję jedną sekundę, czy więcej.
Oto, co się stanie, jeśli podam tylko datę:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);
Wynik:
+--------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 SECOND) | +--------------------------------------------+ | 2021-05-01 00:00:35 | +--------------------------------------------+
Część czasu jest dodawana do wyniku i zakłada się, że początkowy czas to 00:00:00
.
Dodając 60 sekund, możemy alternatywnie użyć MINUTE
słowo kluczowe, jeśli wolimy:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);
Wynik:
+----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) | +----------------------------------------------------+ | 2021-05-01 10:01:00 | +----------------------------------------------------+
Ta technika oczywiście działa z 120 sekundami, 180 i tak dalej. Po prostu użyj odpowiedniej liczby minut.
Możesz również użyć złożonej jednostki daty/godziny, aby dodać wiele jednostek. Na przykład, jeśli chcesz dodać 1 minutę i 30 sekund, możesz to zrobić:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND);
Wynik:
+----------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) | +----------------------------------------------------------------+ | 2021-05-01 10:01:30 | +----------------------------------------------------------------+
Zobacz MariaDB Date and Time Units, aby uzyskać pełną listę jednostek daty/czasu.
ADDDATE()
Funkcja
Innym sposobem na dodanie sekund do wyrażenia daty i godziny jest użycie ADDDATE()
funkcjonować. Ta funkcja ma dwie składnie:
- Jedna składnia pozwala dodać liczbę dni do daty, czego nie robimy tutaj (chyba że planujemy dodać sekundy w blokach po 86 400, czyli ile sekund ma 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 SECOND);
Wynik:
+----------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) | +----------------------------------------------------+ | 2021-05-01 10:00:35 | +----------------------------------------------------+
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 SECOND);
Wynik:
+------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) | +------------------------------------------------------+ | 2021-05-01 10:00:35 | +------------------------------------------------------+
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 SECOND);
Wynik:
+-----------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) | +-----------------------------------------------------+ | 2021-05-01 10:00:35 | +-----------------------------------------------------+
+
Operator
Inną opcją jest użycie +
operator.
+
Operator służy do dodawania i możemy go używać w datach, wraz z odpowiednią jednostką daty/czasu, aby dodać określoną liczbę sekund do naszego wyrażenia daty i godziny.
Przykład:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;
Wynik:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 SECOND | +--------------------------------------------+ | 2021-05-01 10:00:35 | +--------------------------------------------+
-
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 wyrażenia daty i godziny:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;
Wynik:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 SECOND | +---------------------------------------------+ | 2021-05-01 10:00:35 | +---------------------------------------------+
ADDTIME()
Funkcja
Możesz użyć ADDTIME()
funkcja dodawania liczby sekund do wyrażenia daty i godziny.
Przykład:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30');
Wynik:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:00:30') | +--------------------------------------------+ | 2021-05-01 10:00:30 | +--------------------------------------------+
Jedną z zalet tej funkcji jest możliwość zmiany innych jednostek czasu, takich jak godziny, minuty 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:00:30');
Wynik:
+---------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:00:30') | +---------------------------------------------+ | 2021-05-01 10:00:30 | +---------------------------------------------+
Inne jednostki daty i czasu
Powyższe przykłady dodają liczbę sekund 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.