MariaDB udostępnia kilka sposobów na dodanie określonej liczby dni do podanej daty. Na przykład możesz chcieć dodać 10 dni do daty, 30 dni, a nawet tylko 1 dzień. Na szczęście MariaDB to ułatwia.
Oto 8 sposobów na dodanie liczby dni do podanej daty w MariaDB.
ADDDATE()
Funkcja
Zacznijmy od ADDDATE()
funkcjonować.
Ta funkcja ma dwie różne składnie. Pierwsza składnia zapewnia zwięzły sposób dodawania określonej liczby dni do daty.
Przykład:
SELECT ADDDATE('2021-05-01', 10);
Wynik:
+---------------------------+ | ADDDATE('2021-05-01', 10) | +---------------------------+ | 2021-05-11 | +---------------------------+
Używając tej składni, podajemy dwa argumenty. Pierwszy argument to data, a drugi to liczba dni, które należy dodać do tej daty.
ADDDATE()
Funkcja — składnia 2
ADDDATE()
funkcja ma również bardziej szczegółową składnię. Ta składnia pozwala nam wyraźniej określić sposób dodawania dni do daty.
Przykład:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);
Wynik:
+----------------------------------------+ | ADDDATE('2021-05-01', INTERVAL 10 DAY) | +----------------------------------------+ | 2021-05-11 | +----------------------------------------+
W tym przypadku używamy INTERVAL
słowo kluczowe, po którym następuje liczba dni, a po nim DAY
słowo kluczowe.
INTERVAL
słowo kluczowe służy do dodawania lub odejmowania przedziału czasu do DATETIME
, DATE
lub TIME
wartość. Możemy go używać w datach, wraz z odpowiednią jednostką daty/godziny, aby dodać określoną liczbę dni do naszej daty. W naszym przypadku jednostką daty/czasu jest DAY
, ale równie dobrze może to być MONTH
, YEAR
, HOUR
, itp., a także szereg jednostek złożonych.
DATE_ADD()
Funkcja
DATE_ADD()
funkcja działa tak samo jak ADDDATE()
podczas używania pełnej składni. W rzeczywistości, używając pełnej składni, ADDDATE()
jest synonimem DATE_ADD()
.
Przykład:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);
Wynik:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 10 DAY) | +-----------------------------------------+ | 2021-05-11 | +-----------------------------------------+
SUBDATE()
Funkcja — składnia 1
SUBDATE()
funkcja umożliwia odejmowanie kwota do daty. Jeśli jednak podasz wartość ujemną do odjęcia, zostanie ona dodana do daty.
Przykład:
SELECT SUBDATE('2021-05-01', -10);
Wynik:
+----------------------------+ | SUBDATE('2021-05-01', -10) | +----------------------------+ | 2021-05-11 | +----------------------------+
SUBDATE()
Funkcja — składnia 2
SUBDATE()
funkcja ma również bardziej szczegółową składnię (podobną do ADDDATE()
funkcja).
Przykład:
SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);
Wynik:
+-----------------------------------------+ | SUBDATE('2021-05-01', INTERVAL -10 DAY) | +-----------------------------------------+ | 2021-05-11 | +-----------------------------------------+
DATE_SUB()
Funkcja
Oto przykład, w którym użyto DATE_SUB()
funkcja:
SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);
Wynik:
+------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL -10 DAY) | +------------------------------------------+ | 2021-05-11 | +------------------------------------------+
+
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/godziny, aby dodać określoną liczbę dni do naszej daty.
Przykład:
SELECT '2021-05-01' + INTERVAL 10 DAY;
Wynik:
+--------------------------------+ | '2021-05-01' + INTERVAL 10 DAY | +--------------------------------+ | 2021-05-11 | +--------------------------------+
-
Operator
-
Operator może służyć do odejmowania kwoty od daty. Jeśli jednak odejmiesz liczbę ujemną, do daty zostanie dodana kwota dodatnia:
SELECT '2021-05-01' - INTERVAL -10 DAY;
Wynik:
+---------------------------------+ | '2021-05-01' - INTERVAL -10 DAY | +---------------------------------+ | 2021-05-11 | +---------------------------------+
BONUS:ADDTIME()
Funkcja
Powiedziałem, że ten artykuł zawiera 8 sposobów na dodawanie dni do daty, ale oto kilka funkcji bonusowych! Może powinienem zamiast tego nazwać ten artykuł „10 sposobów dodawania dni do wartości daty i godziny”.
W każdym razie możesz użyć ADDTIME()
funkcja dodawania liczby dni do wyrażenia daty i godziny.
Przykład:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Wynik:
+-------------------------------------------+ | ADDTIME('2021-05-01 10:30:45', '1 0:0:0') | +-------------------------------------------+ | 2021-05-02 10:30:45 | +-------------------------------------------+
Możesz także zmienić inne jednostki czasu, takie jak godziny, minuty, sekundy itp.
Alternatywnie możesz to zmienić i użyć SUBTIME()
z ujemną wartością, jeśli sobie tego życzysz:
SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');
Wynik:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') | +--------------------------------------------+ | 2021-05-02 10:30:45 | +--------------------------------------------+
Inne jednostki daty i czasu
Powyższe przykłady dodają liczbę dni do daty, ale możemy użyć tych samych technik, aby dodać dowolną jednostkę daty/czasu. Używamy DAY
jako jednostka daty/czasu, ale jak wspomniano, równie dobrze może to być MONTH
, YEAR
, HOUR
, itp., jak również dowolna z jednostek złożonych.
Zobacz jednostki daty i czasu MariaDB, aby uzyskać pełną listę jednostek daty/czasu, których można używać z powyższymi funkcjami i operatorem.