In PostgreSQL können wir den -
verwenden Operator, um eine oder mehrere Minuten von einem Zeitwert abzuziehen.
Als „Zeit“-Wert könnte dies eine tatsächliche time
sein Wert, ein timestamp
, oder ein interval
. Wir können auch Minuten von einem date
abziehen Wert oder ein date
und time
Kombination.
Beispiel
Wir können Intervalle angeben, wenn wir Arithmetik mit Datum und Uhrzeit durchführen. Um also eine oder mehrere Minuten abzuziehen, können wir minute
verwenden oder minutes
:
SELECT time '07:00' - interval '1 minute';
Ergebnis:
06:59:00
Mehrzahl
Und im Plural:
SELECT time '07:00' - interval '45 minutes';
Ergebnis:
06:15:00
Zeitstempel
Und hier ist es mit einem timestamp
Wert:
SELECT timestamp '2030-01-20 09:00' - interval '30 minutes';
Ergebnis:
2030-01-20 08:30:00
Intervalle
Wir können auch Minuten von einem interval
abziehen :
SELECT interval '5 hours' - interval '90 minutes';
Ergebnis:
03:30:00
Termine
Wir können sogar Minuten von einem date
abziehen Wert:
SELECT date '2030-01-20' - interval '12 minutes';
Ergebnis:
2030-01-19 23:48:00
Das Ergebnis ist ein timestamp
Wert.
Datums- und Uhrzeitwerte kombiniert
Wir können auch ein date
hinzufügen und time
-Wert zusammen und subtrahieren Sie Minuten davon:
SELECT date '2030-01-20' + time '01:00' - interval '18 minutes';
Ergebnis:
2030-01-20 00:42:00
Angegeben in Sekunden
Wir können alternativ die entsprechende Zahl in Sekunden subtrahieren:
SELECT time '15:45' - interval '120 seconds';
Ergebnis:
15:43:00
Angegeben in Stunden
Wenn die abzuziehenden Minuten in 60-Minuten-Schritten sind, können wir alternativ Stunden verwenden:
SELECT time '15:45' - interval '1 hour';
Ergebnis:
14:45: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 Anzahl von Minuten zum eingegebenen Datum/der eingegebenen Uhrzeit addiert. Aber wenn wir es mit dem +
verwenden -Operator, dann wird er vom eingegebenen Datum/der eingegebenen Uhrzeit abgezogen.
Beispiel:
SELECT time '03:00' + interval '-2 minutes';
Ergebnis:
02:58:00