In MySQL können Sie das ADDDATE()
verwenden Funktion, um einem Datum eine bestimmte Zeitspanne hinzuzufügen. Sie können es beispielsweise verwenden, um 10 Tage zu einem bestimmten Datum hinzuzufügen. Sie können angeben, ob Tage, Wochen, Monate, Quartale, Jahre usw. hinzugefügt werden sollen. Sie können auch einen Zeitwert wie Sekunden, Mikrosekunden usw. hinzufügen.
Das ADDDATE()
Funktion ist ein Synonym für DATE_ADD()
-Funktion (beide tun dasselbe), wenn Sie die erste unten aufgeführte Syntax verwenden.
Dieser Artikel enthält Beispiele, um die Verwendung von ADDDATE()
zu demonstrieren Funktion.
Syntax
Sie können diese Funktion auf zwei Arten verwenden:
ADDDATE(date,INTERVAL expr unit)
Oder
ADDDATE(expr,days)
Beispiel 1 – Die erste Syntax
Hier ist ein Beispiel für die Verwendung der ersten Form der Syntax.
SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;
Ergebnis:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Dieses Beispiel addiert 2 Tage zu dem vom ersten Argument gelieferten Datum hinzu.
Beispiel 2 – Die zweite Syntax
Dieses Beispiel könnte wie folgt umgeschrieben werden:
SELECT ADDDATE('2018-12-01', 2) AS Result;
Ergebnis:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Dies verwendet die zweite Form der Syntax. Das zweite Argument ist eine Ganzzahl, die angibt, wie viele Tage zu dem vom ersten Argument gelieferten Datum hinzugefügt werden sollen. Daher eignet sich dieses Formular natürlich nur, wenn Sie den Betrag in Tagen angeben möchten.
Beachten Sie, dass ADDDATE()
ist ein Synonym für DATE_ADD()
nur wenn die erste Syntax verwendet wird. Die zweite Syntax ist nur in ADDDATE()
verfügbar .
Beispiel 3 – Andere Datumseinheiten
Ein Vorteil der ersten Form der Syntax besteht darin, dass Sie angeben können, ob Tage, Wochen, Monate, Jahre usw. hinzugefügt werden sollen. Hier sind einige Beispiele.
SELECT '2018-12-01' AS 'Start Date', ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks', ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months', ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters', ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';
Ergebnis:
+------------+------------+------------+-------------+------------+ | Start Date | +2 Weeks | +2 Months | +2 Quarters | +2 Years | +------------+------------+------------+-------------+------------+ | 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01 | 2020-12-01 | +------------+------------+------------+-------------+------------+
Beispiel 4 – Zeiteinheiten
Sie können auch ADDDATE()
verwenden Hinzufügen von Zeiteinheiten zu einem Datums-/Uhrzeitwert. Hier ist ein Beispiel.
SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;
Ergebnis:
+---------------------+ | Result | +---------------------+ | 2018-12-01 03:00:00 | +---------------------+
Erwartete Werte
Die folgende Tabelle zeigt die gültigen Einheitenwerte und ihr erwartetes Format.
unit Wert | Erwarteter expr Formatieren |
---|---|
Mikrosekunde | MIKROSEKUNDEN |
ZWEITE | SEKUNDEN |
MINUTE | MINUTEN |
STUNDE | STUNDEN |
TAG | TAGE |
WOCHE | WOCHEN |
MONAT | MONATE |
QUARTAL | VIERTEL |
JAHR | JAHRE |
SECOND_MICROSECOND | ‘SEKUNDEN.MIKROSEKUNDEN’ |
MINUTE_MICROSECOND | ‘MINUTEN:SEKUNDEN.MIKROSEKUNDEN’ |
MINUTE_SECOND | ‘MINUTEN:SEKUNDEN’ |
HOUR_MICROSECOND | ‘STUNDEN:MINUTEN:SEKUNDEN.MIKROSEKUNDEN’ |
HOUR_SECOND | ‘STUNDEN:MINUTEN:SEKUNDEN’ |
HOUR_MINUTE | ‘STUNDEN:MINUTEN’ |
DAY_MICROSECOND | ‘TAGE STUNDEN:MINUTEN:SEKUNDEN.MIKROSEKUNDEN’ |
DAY_SECOND | ‘TAGE STUNDEN:MINUTEN:SEKUNDEN’ |
DAY_MINUTE | ‘TAGE STUNDEN:MINUTEN’ |
DAY_HOUR | „TAGE STUNDEN“ |
JAHR_MONAT | „JAHRE-MONATE“ |