I PostgreSQL kan vi använda +
operatör för att lägga till en eller flera timmar till ett tidsvärde.
Med "tid"-värde kan detta vara en faktisk time
värde, en timestamp
, eller ett interval
. Vi kan också lägga till timmar till ett date
värde eller ett date
och time
kombination.
Exempel
Vi kan ange intervall när vi lägger till datum och tider. Till exempel kan vi använda hour
eller hours
för att lägga till en eller flera timmar:
SELECT time '08:35' + interval '1 hour';
Resultat:
09:35:00
Plural
Och i pluralform:
SELECT time '08:35' + interval '2 hours';
Resultat:
10:35:00
Tidsstämplar
Och här är den med en timestamp
värde:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Resultat:
2030-01-20 10:35:00
Intervaller
Vi kan också lägga till timmar till ett interval
:
SELECT interval '23 hours' + interval '2 hours';
Resultat:
25:00:00
Datum
Vi kan till och med lägga till timmar till ett date
värde:
SELECT date '2030-01-20' + interval '3 hours';
Resultat:
2030-01-20 03:00:00
Resultatet är en timestamp
värde.
Kombinerade datum- och tidsvärden
Vi kan också lägga till ett date
och time
värde tillsammans och lägg till timmar till det:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Resultat:
2030-01-20 05:35:00
Specificerat i minuter
Ett annat sätt att göra det är att ange motsvarande antal i minuter:
SELECT time '15:45' + interval '60 minutes';
Resultat:
16:45:00
När vi gör detta behöver vi inte vara exakt på timmen. Till exempel kan vi lägga till mer än en timme, men mindre än två:
SELECT time '15:45' + interval '90 minutes';
Resultat:
17:15:00
Negativa värden
Det är möjligt att utföra datumaritmetik med negativa värden. Om vi använder ett negativt värde med +
operatör, så kommer det angivna antalet timmar att subtraheras från inmatat datum/tid. Men om vi använder det med -
operatör, så kommer den att läggas till inmatat datum/tid.
Exempel:
SELECT time '03:00' - interval '-2 hours';
Resultat:
05:00:00