I PostgreSQL kan vi använda -
operatör för att subtrahera en eller flera minuter från ett tidsvärde.
Med "tid"-värde kan detta vara en faktisk time
värde, en timestamp
, eller ett interval
. Vi kan också subtrahera minuter från ett date
värde eller ett date
och time
kombination.
Exempel
Vi kan ange intervall när vi utför aritmetik mot datum och tider. Så för att subtrahera en eller flera minuter kan vi använda minute
eller minutes
:
SELECT time '07:00' - interval '1 minute';
Resultat:
06:59:00
Plural
Och i pluralform:
SELECT time '07:00' - interval '45 minutes';
Resultat:
06:15:00
Tidsstämplar
Och här är den med en timestamp
värde:
SELECT timestamp '2030-01-20 09:00' - interval '30 minutes';
Resultat:
2030-01-20 08:30:00
Intervaller
Vi kan också subtrahera minuter från ett interval
:
SELECT interval '5 hours' - interval '90 minutes';
Resultat:
03:30:00
Datum
Vi kan till och med subtrahera minuter från ett date
värde:
SELECT date '2030-01-20' - interval '12 minutes';
Resultat:
2030-01-19 23:48: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 subtrahera minuter från det:
SELECT date '2030-01-20' + time '01:00' - interval '18 minutes';
Resultat:
2030-01-20 00:42:00
Specificerat i sekunder
Vi kan alternativt subtrahera motsvarande tal i sekunder:
SELECT time '15:45' - interval '120 seconds';
Resultat:
15:43:00
Specificerat i timmar
Om minuterna som ska subtraheras är i steg om 60 minuter, kan vi alternativt använda timmar:
SELECT time '15:45' - interval '1 hour';
Resultat:
14:45: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, kommer det angivna antalet minuter att läggas till inmatat datum/tid. Men om vi använder det med +
operatör, så kommer den att subtraheras från inmatat datum/tid.
Exempel:
SELECT time '03:00' + interval '-2 minutes';
Resultat:
02:58:00