sql >> Databasteknik >  >> RDS >> PostgreSQL

Subtrahera minuter från ett tidsvärde i PostgreSQL

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

  1. DateTime2 vs DateTime i SQL Server

  2. Migrera en Oracle-databas från AWS EC2 till AWS RDS, del 2

  3. Laddar klassen com.mysql.jdbc.Driver ... är föråldrat meddelande

  4. Hur ställer jag in tidszonen för MySQL?