MariaDB bietet mehrere Möglichkeiten, um eine bestimmte Anzahl von Tagen zu einem bestimmten Datum hinzuzufügen. Beispielsweise möchten Sie möglicherweise 10 Tage zu einem Datum oder 30 Tage oder sogar nur 1 Tag hinzufügen. Glücklicherweise macht MariaDB dies einfach.
Hier sind 8 Möglichkeiten, einem bestimmten Datum in MariaDB eine Anzahl von Tagen hinzuzufügen.
Das ADDDATE()
Funktion
Beginnen wir mit dem ADDDATE()
Funktion.
Diese Funktion hat zwei unterschiedliche Syntaxen. Die erste Syntax bietet eine präzise Möglichkeit, eine bestimmte Anzahl von Tagen zu einem Datum hinzuzufügen.
Beispiel:
SELECT ADDDATE('2021-05-01', 10);
Ergebnis:
+-----------------------------------+| HINZUFÜGEN('2021-05-01', 10) |+-----------------------------------+| 2021-05-11 |+-----------------------------------+
Mit dieser Syntax stellen wir zwei Argumente bereit. Das erste Argument ist das Datum und das zweite die Anzahl der Tage, die zu diesem Datum hinzugefügt werden sollen.
Das ADDDATE()
Funktion – Syntax 2
Das ADDDATE()
Die Funktion hat auch eine ausführlichere Syntax. Diese Syntax ermöglicht es uns, deutlicher zu machen, wie wir die Tage zum Datum hinzufügen.
Beispiel:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);
Ergebnis:
+----------------------------------------+| HINZUFÜGEN('2021-05-01', INTERVALL 10 TAGE) |+---------------------------------------------- ------+| 2021-05-11 |+----------------------------------------+In diesem Fall verwenden wir das
INTERVAL
Keyword, gefolgt von der Anzahl der Tage, gefolgt vonDAY
Stichwort.Das
INTERVAL
Schlüsselwort wird verwendet, um ein Zeitintervall zu einemDATETIME
zu addieren oder zu subtrahieren ,DATE
oderTIME
Wert. Wir können es für Datumsangaben zusammen mit der entsprechenden Datums-/Zeiteinheit verwenden, um unserem Datum eine bestimmte Anzahl von Tagen hinzuzufügen. In unserem Fall ist die Datums-/ZeiteinheitDAY
, aber es könnte genauso gutMONTH
sein ,YEAR
,HOUR
, etc, sowie eine Reihe von zusammengesetzten Einheiten.Der
DATE_ADD()
FunktionDas
DATE_ADD()
Funktion funktioniert genauso wieADDDATE()
bei Verwendung der Verbose-Syntax. Wenn Sie die ausführliche Syntax verwenden,ADDDATE()
ist ein Synonym fürDATE_ADD()
.Beispiel:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);
Ergebnis:
+------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 10 TAGE) |+---------------------------------------------- -------+| 2021-05-11 |+-----------------------------------------+Das
SUBDATE()
Funktion – Syntax 1Das
SUBDATE()
Funktion können Sie subtrahieren ein Betrag zu einem Datum. Wenn Sie jedoch einen negativen Wert zum Subtrahieren angeben, wird dieser letztendlich hinzugefügt zum Datum.Beispiel:
SELECT SUBDATE('2021-05-01', -10);
Ergebnis:
+-----------------------------------+| SUBDATE('2021-05-01', -10) |+------------------------------------+| 2021-05-11 |+-----------------------------------+Das
SUBDATE()
Funktion – Syntax 2Das
SUBDATE()
Die Funktion hat auch die ausführlichere Syntax (ähnlich derADDDATE()
Funktion).Beispiel:
SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);
Ergebnis:
+------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAY) |+-------------------------------- --------+| 2021-05-11 |+-----------------------------------------+Der
DATE_SUB()
FunktionHier ist ein Beispiel, das
DATE_SUB()
verwendet Funktion:SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);
Ergebnis:
+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVALL -10 TAGE) |+--------------------------------------------- ---------+| 11.05.2021 |+--------------------------------------------------+Der
+
BetreiberEine andere Möglichkeit ist die Verwendung von
+
Operator.Das
+
Der Operator wird verwendet, um eine Addition durchzuführen, und wir können ihn zusammen mit der entsprechenden Datums-/Zeiteinheit für Datumsangaben verwenden, um eine bestimmte Anzahl von Tagen zu unserem Datum hinzuzufügen.Beispiel:
SELECT '2021-05-01' + INTERVAL 10 DAY;
Ergebnis:
+-------------------------------+| '2021-05-01' + INTERVALL 10 TAGE |+---------------------------------------------+| 2021-05-11 |+-------------------------------+Der
-
BetreiberDer
-
Operator kann verwendet werden, um einen Betrag von einem Datum abzuziehen. Wenn Sie jedoch eine negative Zahl subtrahieren, wird ein positiver Betrag zum Datum hinzugefügt:SELECT '2021-05-01' - INTERVAL -10 DAY;
Ergebnis:
+---------------------------------+| '2021-05-01' - INTERVALL -10 TAGE |+----------------------------------------------+| 2021-05-11 |+---------------------------------+BONUS:Der
ADDTIME()
FunktionIch sagte, dieser Artikel enthält 8 Möglichkeiten, Tage zu einem Datum hinzuzufügen, aber hier sind ein paar Bonusfunktionen! Vielleicht hätte ich diesen Artikel stattdessen „10 Möglichkeiten, Tage zu einem Datetime-Wert hinzuzufügen“ nennen sollen.
Wie auch immer, Sie können
ADDTIME()
verwenden Funktion zum Hinzufügen einer Anzahl von Tagen zu einem datetime-Ausdruck.Beispiel:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Ergebnis:
+--------------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ -------------------+| 2021-05-02 10:30:45 |+------------------------------------- -----+Sie können auch die anderen Zeiteinheiten wie Stunden, Minuten, Sekunden usw. ändern.
Sie können es alternativ umschalten und
SUBTIME()
verwenden mit einem negativen Wert, wenn Sie dies wünschen:SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');
Ergebnis:
+--------------------------------------------------+| UNTERZEIT('2021-05-01 10:30:45', '-1 0:0:0') |+----------------------- ---------------------+| 2021-05-02 10:30:45 |+------------------------------------- ------+Andere Datums- und Zeiteinheiten
Die obigen Beispiele fügen dem Datum eine Anzahl von Tagen hinzu, aber wir können die gleichen Techniken verwenden, um jede Datums-/Zeiteinheit hinzuzufügen. Wir verwenden
DAY
als Datums-/Zeiteinheit, aber wie erwähnt, könnte es genauso gutMONTH
sein ,YEAR
,HOUR
, etc, sowie jede der zusammengesetzten Einheiten.Eine vollständige Liste der Datums-/Zeiteinheiten, die mit den oben genannten Funktionen und Operatoren verwendet werden können, finden Sie unter MariaDB-Datums- und Zeiteinheiten.