Jak dodawać i odejmować daty i godziny w MySQL

Odniesienie

Oficjalna strona MySQL Dokumentacja produktu Funkcje daty i czasu

DATE_ADD i DATE_SUB

Te dwie funkcje są parą, jedna to dodawanie, a druga to odejmowanie. Ich funkcją jest dodanie lub odjęcie okresu czasu od określonej daty. Aby zapoznać się z konkretnym zastosowaniem, zapoznaj się z następującym przykładem. W pierwszym przykładzie dodajemy jeden miesiąc do aktualnego czasu, a drugi odejmuje jeden miesiąc od aktualnego czasu.

            SELECT DATE_ADD(now(), INTERVAL 1 MONTH);
SELECT DATE_SUB(now(), INTERVAL 1 MONTH);
        

ADDDATE i SUBDATE

Te dwie funkcje są również parą, jedna to dodawanie, a druga to odejmowanie. Ich użycie jest takie samo jak DATE_ADD i DATE_SUB. Aby zapoznać się z konkretnym zastosowaniem, zapoznaj się z następującym przykładem. W pierwszym przykładzie dodajemy jeden miesiąc do aktualnego czasu, a drugi odejmuje jeden miesiąc od aktualnego czasu.

            SELECT ADDDATE(now(), INTERVAL 1 MONTH);
SELECT SUBDATE(now(), INTERVAL 1 MONTH);
        

Większe wykorzystanie

W przykładzie używamy tylko miesiąca jako parametru, jednak godzina, minuta, sekunda, tydzień, dzień, rok mogą być również używane jako parametry, a także mogą obsługiwać minuty i sekundy, godziny i minuty i sekundy i więcej połączenie. Aby uzyskać szczegółowe informacje, zapoznaj się z poniższą listą.

            MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'
        

inne informacje

W rzeczywistości odejmowanie może również używać DATE_ADD, musimy tylko zapisać parametr jako liczbę ujemną. Ponadto MariaDB jest gałęzią MySQL, a ich składnia SQL jest zasadniczo taka sama, więc w MariaDB znajdują się powyższe cztery funkcje, a ich użycie jest dokładnie takie samo.