I PostgreSQL kan vi bruge +
operatør for at tilføje en eller flere timer til en tidsværdi.
Ved "tidsværdi" kan dette være en faktisk hour
værdi, et timestamp
, eller et interval
. Vi kan også tilføje timer til en date
værdi eller en date
og hour
kombination.
Eksempel
Vi kan angive intervaller, når vi tilføjer til datoer og tidspunkter. For eksempel kan vi bruge hour
eller hours
for at tilføje en eller flere timer:
SELECT time '08:35' + interval '1 hour';
Resultat:
09:35:00
Flertal
Og i flertalsform:
SELECT time '08:35' + interval '2 hours';
Resultat:
10:35:00
Tidsstempler
Og her er det med et timestamp
værdi:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Resultat:
2030-01-20 10:35:00
Intervaller
Vi kan også tilføje timer til et interval
:
SELECT interval '23 hours' + interval '2 hours';
Resultat:
25:00:00
Datoer
Vi kan endda tilføje timer til en date
værdi:
SELECT date '2030-01-20' + interval '3 hours';
Resultat:
2030-01-20 03:00:00
Resultatet er et timestamp
værdi.
Dato- og tidsværdier kombineret
Vi kan også tilføje en date
og hour
værdi sammen, og føj timer til det:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Resultat:
2030-01-20 05:35:00
Specificeret i minutter
En anden måde at gøre det på er at angive det tilsvarende tal i minutter:
SELECT time '15:45' + interval '60 minutes';
Resultat:
16:45:00
Når vi gør dette, behøver vi ikke at være præcis på timen. For eksempel kunne vi tilføje mere end én time, men mindre end to:
SELECT time '15:45' + interval '90 minutes';
Resultat:
17:15:00
Negative værdier
Det er muligt at udføre datoregning med negative værdier. Hvis vi bruger en negativ værdi med +
operatør, så vil det angivne antal timer blive trukket fra den indtastede dato/tid. Men hvis vi bruger det med -
operatør, så føjes den til inputdatoen/tidspunktet.
Eksempel:
SELECT time '03:00' - interval '-2 hours';
Resultat:
05:00:00