I PostgreSQL kan vi bruge -
operatør for at trække et eller flere minutter fra en tidsværdi.
Ved "tidsværdi" kan dette være en faktisk time
værdi, et timestamp
, eller et interval
. Vi kan også trække minutter fra en date
værdi eller en date
og time
kombination.
Eksempel
Vi kan angive intervaller, når vi udfører aritmetik mod datoer og tidspunkter. Så for at trække et eller flere minutter fra, kan vi bruge minute
eller minutes
:
SELECT time '07:00' - interval '1 minute';
Resultat:
06:59:00
Flertal
Og i flertalsform:
SELECT time '07:00' - interval '45 minutes';
Resultat:
06:15:00
Tidsstempler
Og her er det med et timestamp
værdi:
SELECT timestamp '2030-01-20 09:00' - interval '30 minutes';
Resultat:
2030-01-20 08:30:00
Intervaller
Vi kan også trække minutter fra et interval
:
SELECT interval '5 hours' - interval '90 minutes';
Resultat:
03:30:00
Datoer
Vi kan endda trække minutter fra en date
værdi:
SELECT date '2030-01-20' - interval '12 minutes';
Resultat:
2030-01-19 23:48:00
Resultatet er et timestamp
værdi.
Dato- og tidsværdier kombineret
Vi kan også tilføje en date
og time
værdi sammen, og træk minutter fra det:
SELECT date '2030-01-20' + time '01:00' - interval '18 minutes';
Resultat:
2030-01-20 00:42:00
Specificeret i sekunder
Vi kan alternativt trække det tilsvarende tal fra i sekunder:
SELECT time '15:45' - interval '120 seconds';
Resultat:
15:43:00
Specificeret i timer
Hvis minutterne, der skal trækkes fra, er i intervaller på 60 minutter, kan vi alternativt bruge timer:
SELECT time '15:45' - interval '1 hour';
Resultat:
14:45: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 minutter blive tilføjet til den indtastede dato/tid. Men hvis vi bruger det med +
operatør, så trækkes den fra inputdatoen/tidspunktet.
Eksempel:
SELECT time '03:00' + interval '-2 minutes';
Resultat:
02:58:00