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.