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

6 Möglichkeiten, einem Datum in MariaDB ein Jahr hinzuzufügen

MariaDB bietet mehrere Möglichkeiten, einem bestimmten Datum ein Jahr oder eine bestimmte Anzahl von Jahren hinzuzufügen. Sie können beispielsweise 1 Jahr, 10 Jahre, 30 Jahre usw. hinzufügen.

Hier sind 6 Möglichkeiten, einem Datum in MariaDB ein Jahr hinzuzufügen.

Der DATE_ADD() Funktion

Das DATE_ADD() Mit der Funktion können Sie einem Datum einen Betrag hinzufügen. Beispielsweise können Sie eine Anzahl von Tagen, Wochen, Monaten, Jahren usw. hinzufügen.

Beispiel:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR); 

Ergebnis:

+------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 1 JAHR) |+---------------------------------------------- -------+| 01.05.2022 |+------------------------------------+

Es gibt keine Regel, die besagt, dass es nur 1 Jahr sein darf. Sie können mehrere Jahre hinzufügen. So oder so, das YEAR Schlüsselwort bleibt Nicht-Plural:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR); 

Ergebnis:

+--------------------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 10 JAHRE) |+---------------------------------------------- --------+| 01.05.2031 |+--------------------------------------------------+ 

Es ist auch möglich, eine andere Datums-/Zeiteinheit mit der entsprechenden Nummer dieser Einheit zu verwenden. Dieser Ansatz sollte jedoch mit Vorsicht verwendet werden, da er zu unerwarteten Ergebnissen führen kann.

Beispiel:

SELECT 
    DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years; 

Ergebnis:

+------------+------------+------------+------- -----+| Tage | Wochen | Monate | Jahre |+------------+-----------+------------+-------- ----+| 01.05.2022 | 2022-04-30 | 01.05.2022 | 01.05.2022 |+-----------+------------+------------+---- --------+

In diesem Fall hatte das Hinzufügen von 52 Wochen ein anderes Ergebnis als das Verwenden von 365 Tagen, 12 Monaten und 1 Jahr.

Wenn wir das Datum ein paar Jahre nach vorne verschieben, erhalten wir noch mehr Widersprüchlichkeit:

SELECT 
    DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years; 

Ergebnis:

+------------+------------+------------+------- -----+| Tage | Wochen | Monate | Jahre |+------------+-----------+------------+-------- ----+| 2024-04-30 | 2024-04-29 | 01.05.2024 | 01.05.2024 |+-----------+------------+------------+---- --------+

Diesmal mit MONTH und YEAR gibt dasselbe Ergebnis zurück, aber DAY und WEEK gibt zwei unterschiedliche Daten zurück, die sich beide vom MONTH unterscheiden und YEAR Ergebnisse.

Das ADDDATE() Funktion

Eine andere Möglichkeit, einem Datum ein Jahr hinzuzufügen, ist die Verwendung von ADDDATE() Funktion. Diese Funktion hat zwei Syntaxen. Mit einer Syntax können Sie einem Datum eine Anzahl von Tagen hinzufügen. Die übrige Syntax ist die gleiche wie bei DATE_ADD() Funktion oben. Bei Verwendung dieser Syntax ADDDATE() ist ein Synonym für DATE_ADD() .

Beispiel:

SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR); 

Ergebnis:

+----------------------------------------+| ADDDATE('2021-05-01', INTERVALL 1 JAHR) |+---------------------------------------------- ------+| 2022-05-01 |+----------------------------------------+ 

Der DATE_SUB() Funktion

Das DATE_SUB() 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 DATE_SUB('2021-05-01', INTERVAL -1 YEAR); 

Ergebnis:

+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVALL -1 JAHR) |+--------------------------------------------- ---------+| 01.05.2022 |+--------------------------------------------------+ 

Das SUBDATE() Funktion

Das SUBDATE() Funktion ist ein Synonym für DATE_SUB() bei Verwendung der folgenden Syntax.

Beispiel:

SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR); 

Ergebnis:

+------------------------------------+| SUBDATE('2021-05-01', INTERVALL -1 JAHR) |+--------------------------------------------- --------+| 01.05.2022 |+------------------------------------+

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 Jahren zu unserem Datum hinzuzufügen.

Beispiel:

SELECT '2021-05-01' + INTERVAL 1 YEAR; 

Ergebnis:

+-------------------------------+| '2021-05-01' + INTERVALL 1 JAHR |+---------------------------------------------+| 01.05.2022 |+-------------------------------+

Der - Betreiber

Der - Operator kann verwendet werden, um einen Betrag von einem Datum abzuziehen. Aber wenn es verwendet wird, um eine negative Zahl zu subtrahieren, dann ist das Ergebnis ein positiver Betrag, der zum Datum hinzugefügt wird:

SELECT '2021-05-01' - INTERVAL -1 YEAR; 

Ergebnis:

+---------------------------------+| '2021-05-01' - INTERVALL -1 JAHR |+----------------------------------------------+| 01.05.2022 |+--------------------------------+

Andere Datums- und Zeiteinheiten

Die obigen Beispiele fügen dem Datum eine Anzahl von Jahren hinzu, aber wir können die gleichen Techniken verwenden, um jede Datums-/Zeiteinheit hinzuzufügen. 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.