In MariaDB TIMESTAMPADD()
ist eine integrierte Datums- und Zeitfunktion, die einem gegebenen Datums- oder Datumszeit-Ausdruck ein ganzzahliges Ausdrucksintervall hinzufügt.
Syntax
Die Syntax lautet wie folgt:
TIMESTAMPADD(unit,interval,datetime_expr)
Wobei unit
ist einer der folgenden Werte:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
Die Einheiten können optional das Präfix SQL_TSI_
haben .
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT TIMESTAMPADD(DAY, 10, '2030-02-01');
Ergebnis:
+-------------------------------------+| TIMESTAMPADD(DAY, 10, '2030-02-01') |+---------------------------------------------- ---+| 2030-02-11 |+------------------------------------+
Datum/Uhrzeit-Werte
Hier ist ein Beispiel für die Übergabe eines datetime-Werts:
SELECT TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45');
Ergebnis:
Hinzufügen eines SQL_TSI_
Präfix
Die Einheit kann einen SQL_TSI_
enthalten Präfix falls erforderlich:
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01');
Ergebnis:
Mikrosekunden
Hier ist ein Beispiel, das Mikrosekunden hinzufügt:
SELECT TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45');
Ergebnis:
Negative Intervalle
Negative Intervalle sind gültig:
Beispiel:
SELECT TIMESTAMPADD(YEAR, -10, '2030-02-01');
Ergebnis:
+--------------------------+| TIMESTAMPADD(YEAR, -10, '2030-02-01') |+-------------------------------- ------+| 01.02.2020 |+--------------------------------------+
Aktuelles Datum
Wir können NOW()
übergeben als datetime-Argument, um das aktuelle Datum und die aktuelle Uhrzeit zu verwenden:
SELECT
NOW(),
TIMESTAMPADD(DAY, 10, NOW());
Ergebnis:
+---------------------+-------------------------------- ------+| JETZT() | TIMESTAMPADD(DAY, 10, NOW()) |+---------------------+---------------- --------------+| 2021-05-28 09:58:56 | 2021-06-07 09:58:56 |+---------------------+---------------- --------------+
Fehlendes Argument
Aufruf von TIMESTAMPADD()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT TIMESTAMPADD();
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
Und noch ein Beispiel:
SELECT TIMESTAMPADD(10, '2020-12-09');
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, die in der Nähe von '10, '2020-12-09')' in Zeile 1 zu verwenden ist