Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ADDDATE()-Beispiele – MySQL

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“