Jeśli potrzebujesz dodać jedną lub więcej mikrosekund 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, mikrosekundy itp.
Przykład:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND); Wynik:
+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+
W tym przypadku dodałem 35 mikrosekund 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.
Możesz również zauważyć, że część mikrosekund nie była w mojej oryginalnej wartości daty i godziny, ale została dodana po dodaniu mikrosekund.
W podobny sposób, oto co się stanie, jeśli podam tylko datę:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND); Wynik:
+-------------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND) |
+-------------------------------------------------+
| 2021-05-01 00:00:00.000035 |
+-------------------------------------------------+
Część czasu jest dodawana do wyniku i zakłada się, że początkowy czas to 00:00:00.000000 .
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' SECOND_MICROSECOND); Wynik:
+---------------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND) |
+---------------------------------------------------------------------+
| 2021-05-01 10:00:01.300000 |
+---------------------------------------------------------------------+ 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.
- 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 MICROSECOND); Wynik:
+---------------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+---------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+---------------------------------------------------------+ 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 MICROSECOND); Wynik:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+-----------------------------------------------------------+ 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 MICROSECOND); Wynik:
+----------------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+ + 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/czasu, aby dodać określoną liczbę mikrosekund do naszego wyrażenia daty/godziny.
Przykład:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND; Wynik:
+-------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-------------------------------------------------+
- 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 MICROSECOND; Wynik:
+--------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +--------------------------------------------------+
ADDTIME() Funkcja
Możesz użyć ADDTIME() funkcja dodawania liczby milisekund do wyrażenia daty i godziny.
Przykład:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:00.123456'); Wynik:
+---------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 10:00:00.123456 |
+---------------------------------------------------+ 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:00:00.123456'); Wynik:
+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456') |
+----------------------------------------------------+
| 2021-05-01 10:00:00.123456 |
+----------------------------------------------------+ Inne jednostki daty i czasu
Powyższe przykłady dodają liczbę mikrosekund do wartości daty i godziny, 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.