In PostgreSQL kunnen we de +
. gebruiken operator om een of meer uren bij een tijdwaarde op te tellen.
Volgens de waarde "tijd" kan dit een werkelijke time
zijn waarde, een timestamp
, of een interval
. We kunnen ook uren toevoegen aan een date
waarde of een date
en time
combinatie.
Voorbeeld
We kunnen intervallen specificeren bij het toevoegen aan datums en tijden. We kunnen bijvoorbeeld hour
. gebruiken of hours
om een of meer uren toe te voegen:
SELECT time '08:35' + interval '1 hour';
Resultaat:
09:35:00
Meervoud
En in meervoud:
SELECT time '08:35' + interval '2 hours';
Resultaat:
10:35:00
Tijdstempels
En hier is het met een timestamp
waarde:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Resultaat:
2030-01-20 10:35:00
Intervallen
We kunnen ook uren toevoegen aan een interval
:
SELECT interval '23 hours' + interval '2 hours';
Resultaat:
25:00:00
Datums
We kunnen zelfs uren toevoegen aan een date
waarde:
SELECT date '2030-01-20' + interval '3 hours';
Resultaat:
2030-01-20 03:00:00
Het resultaat is een timestamp
waarde.
Datum- en tijdwaarden gecombineerd
We kunnen ook een date
toevoegen en time
waarde samen, en voeg daar uren aan toe:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Resultaat:
2030-01-20 05:35:00
Gespecificeerd in minuten
Een andere manier om dit te doen is door het equivalente aantal in minuten op te geven:
SELECT time '15:45' + interval '60 minutes';
Resultaat:
16:45:00
Daarbij hoeven we niet precies op het uur aanwezig te zijn. We kunnen bijvoorbeeld meer dan een uur toevoegen, maar minder dan twee:
SELECT time '15:45' + interval '90 minutes';
Resultaat:
17:15:00
Negatieve waarden
Het is mogelijk om datumberekeningen uit te voeren met negatieve waarden. Als we een negatieve waarde gebruiken met de +
operator, dan wordt het opgegeven aantal uren afgetrokken van de ingevoerde datum/tijd. Maar als we het gebruiken met de -
operator, dan wordt het toegevoegd aan de ingevoerde datum/tijd.
Voorbeeld:
SELECT time '03:00' - interval '-2 hours';
Resultaat:
05:00:00