MariaDB erbjuder flera sätt att lägga till ett visst antal dagar till ett givet datum. Du kanske till exempel vill lägga till 10 dagar till ett datum, eller 30 dagar, eller till och med bara 1 dag. Lyckligtvis gör MariaDB detta enkelt.
Här är 8 sätt att lägga till ett antal dagar till ett givet datum i MariaDB.
ADDDATE()
Funktion
Låt oss börja med ADDDATE()
fungera.
Denna funktion har två olika syntaxer. Den första syntaxen ger ett kortfattat sätt att lägga till ett visst antal dagar till ett datum.
Exempel:
SELECT ADDDATE('2021-05-01', 10);
Resultat:
+--------------------------------+| ADDDATE('2021-05-01', 10) |+--------------------------------+| 2021-05-11 |+--------------------------------+
Med denna syntax tillhandahåller vi två argument. Det första argumentet är datumet och det andra är antalet dagar att lägga till det datumet.
ADDDATE()
Funktion – Syntax 2
ADDDATE()
funktion har också en mer utförlig syntax. Denna syntax gör att vi kan vara mer tydliga i hur vi lägger till dagar till datumet.
Exempel:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);
Resultat:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 10 DAY) |+---------------------------------------- ------+| 2021-05-11 |+------------------------------------------------+I det här fallet använder vi
INTERVAL
nyckelord, följt av antalet dagar, följt avDAY
nyckelord.
INTERVAL
nyckelord används för att lägga till eller subtrahera ett tidsintervall till enDATETIME
,DATE
ellerTIME
värde. Vi kan använda det på datum, tillsammans med tillämplig datum/tidsenhet för att lägga till ett visst antal dagar till vårt datum. I vårt fall är datum-/tidsenhetenDAY
, men det kan lika gärna varaMONTH
,YEAR
,HOUR
, etc, samt ett antal sammansatta enheter.
DATE_ADD()
Funktion
DATE_ADD()
Funktionen fungerar på samma sätt somADDDATE()
när du använder den utförliga syntaxen. Faktum är att när du använder den utförliga syntaxen,ADDDATE()
är en synonym förDATE_ADD()
.Exempel:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);
Resultat:
+------------------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 10 DAG) |+---------------------------------------- -------+| 2021-05-11 |+------------------------------------------------+
SUBDATE()
Funktion – Syntax 1
SUBDATE()
funktionen låter dig subtrahera ett belopp till ett datum. Men om du anger ett negativt värde att subtrahera, slutar det med att det läggs till till datumet.Exempel:
SELECT SUBDATE('2021-05-01', -10);
Resultat:
+------------------------------------+| SUBDATE('2021-05-01', -10) |+----------------------------------+| 2021-05-11 |+------------------------------------+
SUBDATE()
Funktion – Syntax 2
SUBDATE()
Funktionen har också den mer utförliga syntaxen (liknandeADDDATE()
funktion).Exempel:
SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);
Resultat:
+------------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAY) |+---------------------------------------- --------+| 2021-05-11 |+------------------------------------------------+
DATE_SUB()
FunktionHär är ett exempel som använder
DATE_SUB()
funktion:SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);
Resultat:
+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -10 DAY) |+---------------------------------------- ----------+| 2021-05-11 |+------------------------------------------------+
+
OperatörEtt annat alternativ är att använda
+
operatör.
+
operatör används för att utföra tillägg, och vi kan använda den på datum, tillsammans med den tillämpliga datum-/tidsenheten för att lägga till ett visst antal dagar till vårt datum.Exempel:
SELECT '2021-05-01' + INTERVAL 10 DAY;
Resultat:
+--------------------------------+| '2021-05-01' + INTERVALL 10 DAGAR |+----------------------------------------+| 2021-05-11 |+--------------------------------+
-
Operatör
-
operator kan användas för att subtrahera ett belopp från ett datum. Men om du subtraherar ett negativt tal läggs ett positivt belopp till datumet:SELECT '2021-05-01' - INTERVAL -10 DAY;
Resultat:
+--------------------------------+| '2021-05-01' - INTERVAL -10 DAGAR |+----------------------------------------+| 2021-05-11 |+----------------------------------------+BONUS:
ADDTIME()
FunktionJag sa att den här artikeln innehåller 8 sätt att lägga till dagar till ett datum, men här är ett par bonusfunktioner! Jag kanske borde ha kallat den här artikeln "10 sätt att lägga till dagar till ett datumtidsvärde" istället.
Hur som helst, du kan använda
ADDTIME()
funktion för att lägga till ett antal dagar till ett datum och tid uttryck.Exempel:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Resultat:
+---------------------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ ------------------+| 2021-05-02 10:30:45 |+------------------------------------------------ -----+Du kan också ändra andra tidsenheter, såsom timmar, minuter, sekunder, etc.
Du kan alternativt växla runt det och använda
SUBTIME()
med ett negativt värde om du så önskar:SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');
Resultat:
+----------------------------------------------------+| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |+----------------------------- --------------------+| 2021-05-02 10:30:45 |+------------------------------------------------ ------+Andra datum- och tidsenheter
Exemplen ovan lägger till ett antal dagar till datumet, men vi kan använda samma teknik för att lägga till valfri datum/tidsenhet. Vi använder
DAY
som datum/tidsenhet, men som nämnt kan det lika gärna varaMONTH
,YEAR
,HOUR
, etc, såväl som någon av de sammansatta enheterna.Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter som kan användas med ovanstående funktioner och operator.