In MariaDB DATE_ADD()
ist eine integrierte Datums- und Uhrzeitfunktion, die Datumsarithmetik durchführt.
Sie können ein Datum ändern, indem Sie das Datum, die hinzuzufügende Einheit und den hinzuzufügenden Betrag angeben. Sie können einen negativen Betrag übergeben, wenn Sie das Datum um ein bestimmtes Intervall subtrahieren müssen.
Syntax
Die Syntax lautet wie folgt:
DATE_ADD(date,INTERVAL expr unit)
Wobei date
ist das zu ändernde Datum, expr
ist der hinzuzufügende Betrag und unit
ist die hinzuzufügende Datums-/Zeiteinheit (z. B. Sekunde, Minute usw.).
Beispiel
Hier ist ein einfaches Beispiel:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Ergebnis:
Das ist wie das Folgende:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Ergebnis:
+------------------------------------+| '2021-05-31 10:00:00' + INTERVALL 1 STUNDE |+--------------------------------------------- ---------+| 2021-05-31 11:00:00 |+------------------------------------- ---+
Negative Intervalle
Bei Angabe eines negativen Intervalls wird dieser Betrag vom Datum abgezogen.
Beispiel:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL -1 HOUR);
Ergebnis:
Andere Einheiten
Hier ist ein Beispiel, das den verschiedenen Datums- und Zeiteinheiten ein Intervall von 1 hinzufügt:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 YEAR) AS YEAR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MONTH) AS MONTH,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 DAY) AS DAY,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) AS HOUR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) AS MINUTE,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 SECOND) AS SECOND,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MICROSECOND) AS MICROSECOND;
Ergebnis (bei vertikaler Ausgabe):
JAHR:2022-05-01 10:00:00 MONAT:2021-06-01 10:00:00 TAG:2021-05-02 10:00:00 STUNDE:2021-05-01 11:00:00 MINUTE:2021-05-01 10:01:00 SEKUNDE:2021-05-01 10:00:01 MIKROSEKUNDE:2021-05-01 10:00:00.000001
Zusammengesetzte Einheiten
Hier ist ein Beispiel, das zusammengesetzte Einheiten verwendet:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";
Ergebnis:
+---------------------+---------------------+-- -------------------+| JAHR_MONAT | HOUR_SECOND | DAY_MINUTE |+---------------------+---------------------+--- ------------------+| 01.07.2022 10:00:00 | 01.05.2021 11:25:35 | 2021-05-01 11:30:00 |+---------------------+---------------- -----+---------------------+
Nulldaten
Übergabe von null
für das Datum gibt null
zurück :
SELECT DATE_ADD(null, INTERVAL 1 YEAR);
Ergebnis:
+---------------------------------+| DATE_ADD(null, INTERVAL 1 JAHR) |+----------------------------------------------+| NULL |+---------------------------------------------+
Fehlendes Argument
Aufruf von DATE_ADD()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT DATE_ADD();
Ergebnis:
ERROR 1064 (42000):Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um sie in der Nähe von ')' in Zeile 1 zu verwenden