W MySQL możesz użyć ADDDATE()
funkcja dodawania określonej ilości czasu do daty. Na przykład możesz go użyć, aby dodać 10 dni do podanej daty. Możesz określić, czy dodać dni, tygodnie, miesiące, kwartały, lata itp. Możesz również dodać wartość czasu, taką jak sekundy, mikrosekundy itp.
ADDDATE()
funkcja jest synonimem DATE_ADD()
funkcji (oba robią to samo) podczas używania pierwszej składni wymienionej poniżej.
Ten artykuł zawiera przykłady demonstrujące użycie ADDDATE()
funkcja.
Składnia
Możesz użyć tej funkcji na dwa sposoby:
ADDDATE(date,INTERVAL expr unit)
Lub
ADDDATE(expr,days)
Przykład 1 – Pierwsza składnia
Oto przykład użycia pierwszej formy składni.
SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;
Wynik:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Ten przykład dodaje 2 dni do daty podanej w pierwszym argumencie.
Przykład 2 – Druga składnia
Ten przykład można przepisać w następujący sposób:
SELECT ADDDATE('2018-12-01', 2) AS Result;
Wynik:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Używa drugiej formy składni. Drugi argument to liczba całkowita reprezentująca liczbę dni, które należy dodać do daty podanej w pierwszym argumencie. Oczywiście ten formularz jest odpowiedni tylko wtedy, gdy chcesz określić kwotę w dniach.
Pamiętaj, że ADDDATE()
jest synonimem DATE_ADD()
tylko wtedy, gdy używana jest pierwsza składnia. Druga składnia jest dostępna tylko w ADDDATE()
.
Przykład 3 – Inne jednostki daty
Jedną z zalet pierwszej formy składni jest to, że możesz określić, czy dodać dni, tygodnie, miesiące, lata itp. Oto kilka przykładów.
SELECT '2018-12-01' AS 'Start Date', ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks', ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months', ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters', ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';
Wynik:
+------------+------------+------------+-------------+------------+ | Start Date | +2 Weeks | +2 Months | +2 Quarters | +2 Years | +------------+------------+------------+-------------+------------+ | 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01 | 2020-12-01 | +------------+------------+------------+-------------+------------+
Przykład 4 – Jednostki czasu
Możesz także użyć ADDDATE()
aby dodać jednostki czasu do wartości daty/czasu. Oto przykład.
SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;
Wynik:
+---------------------+ | Result | +---------------------+ | 2018-12-01 03:00:00 | +---------------------+
Oczekiwane wartości
Poniższa tabela przedstawia prawidłowe wartości jednostek i ich oczekiwany format.
unit Wartość | Oczekiwano expr Format |
---|---|
MIKROSEKUNDA | MIKROSEKUNDY |
DRUGA | SEKUND |
MINUTA | MINUT |
GODZINA | GODZINY |
DZIEŃ | DNI |
TYDZIEŃ | TYGODNIE |
MIESIĄC | MIESIĄCE |
KWARTAŁ | KWARTAŁ |
ROK | LAT |
SECOND_MICROSECOND | „SEKUND.MIKROSEKUNDY” |
MINUTE_MICROSECOND | „MINUTY:SEKUND.MIKROSEKUNDY” |
MINUTE_SECOND | „MINUTY:SEKUNDY” |
HOUR_MICROSECOND | „GODZINY:MINUTY:SEKUND.MIKROSEKUNDY” |
HOUR_SECOND | „GODZINY:MINUTY:SEKUNDY” |
GODZINA_MINUTA | „GODZINY:MINUTY” |
DAY_MICROSECOND | „DNI GODZINY:MINUTY:SEKUND.MIKROSEKUNDY” |
DAY_SECOND | „DNI GODZINY:MINUTY:SEKUNDY” |
DAY_MINUTE | „DNI GODZINY:MINUTY” |
DAY_HOUR | „DNI GODZINY” |
ROK_MIESIĄC | „LATA-MIESIĄCE” |