MariaDB bietet mehrere Möglichkeiten, Datumsangaben zu berechnen. Dazu gehört das Addieren oder Subtrahieren eines Tages (oder mehrerer Tage) von einem bestimmten Datum.
Hier ist ein Beispiel für das Subtrahieren eines Tages von einem Datum in MariaDB.
Das SUBDATE()
Funktion
Das SUBDATE()
Mit dieser Funktion können Sie eine bestimmte Anzahl von Tagen von einem Datum abziehen.
Am einfachsten ist es, das Datum anzugeben, gefolgt von der Anzahl der Tage, die Sie abziehen möchten.
Beispiel:
SELECT SUBDATE('2021-05-21', 1);
Ergebnis:
+---------------------+| SUBDATE('2021-05-21', 1) |+---------------------+| 2021-05-20 |+---------------------+
Mehrere Tage
Wenn Sie mehr als einen Tag abziehen müssen, verwenden Sie einfach diese Zahl anstelle von 1
.
SELECT SUBDATE('2021-05-01', 30);
Ergebnis:
+-----------------------------------+| SUBDATE('2021-05-01', 30) |+---------------------------+| 01.04.2021 |+-----------------------------------+
In diesem Fall haben wir das Datum minus 30 Tage zurückgegeben. Dadurch wurde auch das Datum auf den Vormonat zurückgesetzt.
Eine ausführlichere Syntax
Das SUBDATE()
Die Funktion hat auch eine ausführlichere Syntax, in der Sie die Einheit angeben können, die vom Datum subtrahiert werden soll. Sie können beispielsweise Tage, Wochen, Monate, Jahre usw. angeben.
SELECT SUBDATE('2021-05-01', INTERVAL 1 DAY);
Ergebnis:
+--------------------------+| SUBDATE('2021-05-01', INTERVALL 1 TAG) |+---------------------------------------------- -----+| 2021-04-30 |+--------------------------------------+
Beachten Sie, dass beim Subtrahieren mehrerer Tage der DAY
Schlüsselwort bleibt Nicht-Plural:
SELECT SUBDATE('2021-05-01', INTERVAL 10 DAY);
Ergebnis:
+----------------------------------------+| SUBDATE('2021-05-01', INTERVALL 10 TAGE) |+---------------------------------------------- ------+| 2021-04-21 |+----------------------------------------+Der Subtraktionsoperator (
-
)Eine andere Möglichkeit, Tage von einem Datum abzuziehen, ist die Verwendung des Subtraktionsoperators (
-
), auch Minusoperator genannt.Beispiel:
SELECT '2021-05-01' - INTERVAL 90 DAY;
Ergebnis:
+-------------------------------+| '2021-05-01' - INTERVALL 90 TAGE |+---------------------------------------------+| 2021-01-31 |+-------------------------------+Der Additionsoperator (
+
)Alternativ können Sie auch den Additionsoperator (
+
) zusammen mit einem negativen Betrag.Beispiel:
SELECT '2021-05-01' + INTERVAL -90 DAY;
Ergebnis:
+---------------------------------+| '2021-05-01' + INTERVALL -90 TAGE |+----------------------------------------------+| 2021-01-31 |+---------------------------------+Andere Möglichkeiten, Tage von Datumsangaben abzuziehen
Hier sind einige andere Ansätze, die Sie verwenden könnten, um einen oder mehrere Tage von einem Datum abzuziehen:
- Der
DATE_SUB()
Funktion (dieSUBDATE()
Die im obigen Beispiel verwendete Funktion ist ein Synonym fürDATE_SUB()
bei Verwendung mit derselben Syntax). - Der
DATE_ADD()
Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom Datum abgezogen). - Das
ADDDATE()
Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom Datum abgezogen).