In PostgreSQL können wir den +
verwenden Operator, um eine oder mehrere Stunden zu einem Zeitwert hinzuzufügen.
Als „Zeit“-Wert könnte dies eine tatsächliche time
sein Wert, ein timestamp
, oder ein interval
. Wir können einem date
auch Stunden hinzufügen Wert oder ein date
und time
Kombination.
Beispiel
Wir können Intervalle angeben, wenn wir Daten und Zeiten hinzufügen. Zum Beispiel können wir hour
verwenden oder hours
um eine oder mehrere Stunden hinzuzufügen:
SELECT time '08:35' + interval '1 hour';
Ergebnis:
09:35:00
Mehrzahl
Und im Plural:
SELECT time '08:35' + interval '2 hours';
Ergebnis:
10:35:00
Zeitstempel
Und hier ist es mit einem timestamp
Wert:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Ergebnis:
2030-01-20 10:35:00
Intervalle
Wir können einem interval
auch Stunden hinzufügen :
SELECT interval '23 hours' + interval '2 hours';
Ergebnis:
25:00:00
Termine
Wir können einem date
sogar Stunden hinzufügen Wert:
SELECT date '2030-01-20' + interval '3 hours';
Ergebnis:
2030-01-20 03:00:00
Das Ergebnis ist ein timestamp
Wert.
Datums- und Uhrzeitwerte kombiniert
Wir können auch ein date
hinzufügen und time
Wert zusammen und fügen Sie Stunden hinzu:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Ergebnis:
2030-01-20 05:35:00
Angegeben in Minuten
Eine andere Möglichkeit besteht darin, die entsprechende Anzahl in Minuten anzugeben:
SELECT time '15:45' + interval '60 minutes';
Ergebnis:
16:45:00
Dabei müssen wir nicht auf die Stunde genau sein. Beispielsweise könnten wir mehr als eine Stunde hinzufügen, aber weniger als zwei:
SELECT time '15:45' + interval '90 minutes';
Ergebnis:
17:15:00
Negative Werte
Es ist möglich, Datumsarithmetik mit negativen Werten durchzuführen. Wenn wir einen negativen Wert mit +
verwenden Operator, dann wird die angegebene Stundenzahl vom eingegebenen Datum/der eingegebenen Uhrzeit abgezogen. Aber wenn wir es mit dem -
verwenden Operator, dann wird es zum eingegebenen Datum/Uhrzeit hinzugefügt.
Beispiel:
SELECT time '03:00' - interval '-2 hours';
Ergebnis:
05:00:00