MariaDB giver flere måder at udføre aritmetik på datoer. Dette inkluderer tilføjelse eller fratrækning af en dag (eller mange dage) fra en given dato.
Her er et eksempel på at trække en dag fra en dato i MariaDB.
SUBDATE()
Funktion
SUBDATE()
funktionen giver dig mulighed for at trække et bestemt antal dage fra en dato.
Den nemmeste måde at gøre dette på er at angive datoen efterfulgt af det antal dage, du gerne vil trække fra.
Eksempel:
SELECT SUBDATE('2021-05-21', 1);
Resultat:
+--------------------------------+| SUBDATE('2021-05-21', 1) |+--------------------------------+| 20-05-2021 |+--------------------------------+
Flere dage
Hvis du skal trække mere end én dag fra, skal du bare bruge det tal i stedet for 1
.
SELECT SUBDATE('2021-05-01', 30);
Resultat:
+--------------------------------+| SUBDATE('2021-05-01', 30) |+--------------------------------+| 01-04-2021 |+--------------------------------+
I dette tilfælde returnerede vi datoen, minus 30 dage. Dette bragte også datoen tilbage til den foregående måned.
En mere udførlig syntaks
SUBDATE()
funktion har også en mere udførlig syntaks, hvor du kan angive den enhed, der skal trækkes fra datoen. Du kan f.eks. angive dage, uger, måneder, år osv.
SELECT SUBDATE('2021-05-01', INTERVAL 1 DAY);
Resultat:
+----------------------------------------------+| SUBDATE('2021-05-01', INTERVAL 1 DAG) |+---------------------------------------- -----+| 30-04-2021 |+----------------------------------------------+
Bemærk, at når du trækker flere dage fra, er DAY
søgeord forbliver ikke-flertal:
SELECT SUBDATE('2021-05-01', INTERVAL 10 DAY);
Resultat:
+----------------------------------------+| SUBDATE('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- ------+| 21-04-2021 |+------------------------------------------------+Subtraktionsoperatøren (
-
)En anden måde at trække dage fra en dato på er at bruge subtraktionsoperatoren (
-
), også kendt som minusoperatoren.Eksempel:
SELECT '2021-05-01' - INTERVAL 90 DAY;
Resultat:
+--------------------------------+| '2021-05-01' - INTERVAL 90 DAGE |+--------------------------------+| 31-01-2021 |+--------------------------------+Additionsoperatøren (
+
)Du kan alternativt bruge additionsoperatoren (
+
) sammen med et negativt beløb.Eksempel:
SELECT '2021-05-01' + INTERVAL -90 DAY;
Resultat:
+--------------------------------+| '2021-05-01' + INTERVAL -90 DAGE |+--------------------------------+| 31-01-2021 |+----------------------------------------+Andre måder at trække dage fra datoer på
Her er nogle andre metoder, du kan bruge til at trække en eller flere dage fra en dato:
DATE_SUB()
funktion (SUBDATE()
funktion brugt i ovenstående eksempel er et synonym forDATE_SUB()
når det bruges med samme syntaks).DATE_ADD()
funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra datoen).ADDDATE()
funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra datoen).