MariaDB giver flere måder at tilføje et bestemt antal dage til en given dato. For eksempel vil du måske tilføje 10 dage til en dato, eller 30 dage eller endda kun 1 dag. Heldigvis gør MariaDB dette nemt.
Her er 8 måder at tilføje et antal dage til en given dato i MariaDB.
ADDDATE()
Funktion
Lad os starte med ADDDATE()
fungere.
Denne funktion har to forskellige syntakser. Den første syntaks giver en kortfattet måde at tilføje et bestemt antal dage til en dato.
Eksempel:
SELECT ADDDATE('2021-05-01', 10);
Resultat:
+--------------------------------+| ADDDATE('2021-05-01', 10) |+--------------------------------+| 2021-05-11 |+--------------------------------+
Ved at bruge denne syntaks giver vi to argumenter. Det første argument er datoen, og det andet er antallet af dage, der skal føjes til den dato.
ADDDATE()
Funktion – Syntaks 2
ADDDATE()
funktion har også en mere udførlig syntaks. Denne syntaks giver os mulighed for at være mere eksplicitte i, hvordan vi føjer dagene til datoen.
Eksempel:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);
Resultat:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- ------+| 2021-05-11 |+------------------------------------------------+I dette tilfælde bruger vi
INTERVAL
søgeord efterfulgt af antallet af dage efterfulgt afDAY
søgeord.
INTERVAL
nøgleordet bruges til at tilføje eller trække et tidsinterval til enDATETIME
,DATE
ellerTIME
værdi. Vi kan bruge det på datoer sammen med den gældende dato/tidsenhed for at tilføje et bestemt antal dage til vores dato. I vores tilfælde er dato/tidsenhedenDAY
, men det kunne lige så nemt væreMONTH
,ÅR
,TIME
osv., samt en række sammensatte enheder.
DATE_ADD()
Funktion
DATE_ADD()
funktion fungerer på samme måde somADDDATE()
når du bruger den verbose syntaks. Faktisk, når du bruger den verbose syntaks,ADDDATE()
er et synonym forDATE_ADD()
.Eksempel:
VÆLG DATE_ADD('2021-05-01', INTERVAL 10 DAGE);
Resultat:
+------------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- -------+| 2021-05-11 |+------------------------------------------------+
SUBDATE()
Funktion – Syntaks 1
SUBDATE()
funktionen giver dig mulighed for at fratrække et beløb til en dato. Men hvis du angiver en negativ værdi at trække fra, så ender den med at blive tillagt til datoen.Eksempel:
VÆLG SUBDATE('2021-05-01', -10);
Resultat:
+------------------------------------+| SUBDATE('2021-05-01', -10) |+--------------------------------+| 2021-05-11 |+--------------------------------+
SUBDATE()
Funktion – Syntaks 2
SUBDATE()
funktion har også den mere udførlige syntaks (svarende tilADDDATE()
funktion).Eksempel:
VÆLG SUBDATE('2021-05-01', INTERVAL -10 DAGE);
Resultat:
+------------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAGE) |+---------------------------------------- --------+| 2021-05-11 |+------------------------------------------------+
DATE_SUB()
FunktionHer er et eksempel, der bruger
DATE_SUB()
funktion:VÆLG DATE_SUB('2021-05-01', INTERVAL -10 DAGE);
Resultat:
+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -10 DAGE) |+---------------------------------------- ----------+| 2021-05-11 |+-------------------------------------------------+
+
OperatørEn anden mulighed er at bruge
+
operatør.
+
operatør bruges til at udføre tilføjelse, og vi kan bruge det på datoer sammen med den gældende dato/tidsenhed for at tilføje et bestemt antal dage til vores dato.Eksempel:
VÆLG '2021-05-01' + INTERVAL 10 DAGE;
Resultat:
+--------------------------------+| '2021-05-01' + INTERVAL 10 DAGE |+----------------------------------------+| 2021-05-11 |+--------------------------------+
- Operatør
-
operator kan bruges til at trække et beløb fra en dato. Men hvis du trækker et negativt tal fra, så tilføjes et positivt beløb til datoen:VÆLG '2021-05-01' - INTERVAL -10 DAGE;
Resultat:
+--------------------------------+| '2021-05-01' - INTERVAL -10 DAGE |+----------------------------------------+| 2021-05-11 |+----------------------------------------+BONUS:
ADDTIME()
FunktionJeg sagde, at denne artikel indeholder 8 måder at tilføje dage til en dato, men her er et par bonusfunktioner! Måske skulle jeg have kaldt denne artikel "10 måder at tilføje dage til en dato-tidsværdi" i stedet for.
I hvert fald kan du bruge
ADDTIME()
funktion til at tilføje et antal dage til et dato- og tidsudtryk.Eksempel:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Resultat:
+----------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ -------------------+| 02-05-2021 10:30:45 |+------------------------------------------------ -----+Du kan også ændre de andre tidsenheder, såsom timer, minutter, sekunder osv.
Du kan alternativt skifte rundt og bruge
SUBTIME()
med en negativ værdi, hvis du ønsker det:VÆLG 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 |+------------------------------------------------ ------+Andre dato- og tidsenheder
Ovenstående eksempler tilføjer et antal dage til datoen, men vi kan bruge de samme teknikker til at tilføje enhver dato/tidsenhed. Vi bruger
DAY
som dato/tidsenhed, men som nævnt kunne det lige så nemt væreMONTH
,ÅR
,TIME
osv., såvel som enhver af de sammensatte enheder.Se MariaDB dato- og tidsenheder for en komplet liste over dato-/tidsenheder, der kan bruges med ovenstående funktioner og operator.