MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

8 Möglichkeiten zum Hinzufügen von Tagen zu einem Datum in MariaDB

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 von DAY Stichwort.

Das INTERVAL Schlüsselwort wird verwendet, um ein Zeitintervall zu einem DATETIME zu addieren oder zu subtrahieren , DATE oder TIME 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-/Zeiteinheit DAY , aber es könnte genauso gut MONTH sein , YEAR , HOUR , etc, sowie eine Reihe von zusammengesetzten Einheiten.

Der DATE_ADD() Funktion

Das DATE_ADD() Funktion funktioniert genauso wie ADDDATE() bei Verwendung der Verbose-Syntax. Wenn Sie die ausführliche Syntax verwenden, ADDDATE() ist ein Synonym für DATE_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 1

Das 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 2

Das SUBDATE() Die Funktion hat auch die ausführlichere Syntax (ähnlich der ADDDATE() Funktion).

Beispiel:

SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY); 

Ergebnis:

+------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAY) |+-------------------------------- --------+| 2021-05-11 |+-----------------------------------------+

Der DATE_SUB() Funktion

Hier 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 + Betreiber

Eine 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 - Betreiber

Der - 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() Funktion

Ich 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 gut MONTH 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.