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()
FunktionDas
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()
FunktionDas
SUBDATE()
Funktion ist ein Synonym fürDATE_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
+
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 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
-
BetreiberDer
-
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.