Oto kilka opcji odejmowania jednej lub więcej mikrosekund od wyrażenia daty i godziny w MariaDB.
SUBTIME()
Funkcja
SUBTIME()
odejmuje określoną ilość czasu od wartości czasu lub daty i godziny.
Przykład:
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 09:59:59.876544 | +---------------------------------------------------+
Możesz także zmienić inne jednostki czasu, takie jak godziny, minuty, sekundy itp.
DATE_SUB()
Funkcja
DATE_SUB()
Funkcja pozwala odjąć określoną liczbę jednostek daty/czasu od wyrażenia daty lub daty i godziny. Dlatego możemy użyć tej funkcji do zwrócenia wartości daty i godziny pomniejszonej o określoną liczbę mikrosekund.
Przykład:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);
Wynik:
+-----------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) | +-----------------------------------------------------------+ | 2021-05-01 09:59:59.999700 | +-----------------------------------------------------------+
Zauważ, że MICROSECOND
słowo kluczowe pozostaje w liczbie innej niż liczba mnoga, niezależnie od tego, czy odejmujesz jedną mikrosekundę, czy więcej.
Przejście samej daty
Oto, co się stanie, jeśli podamy tylko wartość daty:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);
Wynik:
+------------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) | +------------------------------------------------+ | 2021-04-30 23:59:59.999997 | +------------------------------------------------+
Zakłada, że czas zaczyna się o 00:00:00, więc MICROSECOND
kwota jest od tego odejmowana.
Operator odejmowania (-
)
Innym sposobem na odjęcie jednej lub więcej mikrosekund od wartości daty i godziny jest użycie operatora odejmowania (-
), znany również jako operator minus.
Przykład:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND;
Wynik:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
Operator dodawania (+
)
Możesz alternatywnie użyć operatora dodawania (+
) wraz z kwotą ujemną.
Przykład:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND;
Wynik:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Inne sposoby odejmowania mikrosekund
Oto kilka innych podejść, których możesz użyć, aby odjąć jedną lub więcej mikrosekund od wartości daty i godziny:
SUBTIME()
funkcja.ADDTIME()
funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty i godziny).SUBDATE()
funkcja (jest to synonimDATE_SUB()
gdy jest używany z tą samą składnią).DATE_ADD()
funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty i godziny).ADDDATE()
funkcja (podanie kwoty ujemnej spowoduje odjęcie tej kwoty od wartości daty i godziny).