sql >> Database teknologi >  >> RDS >> PostgreSQL

Træk minutter fra en tidsværdi i PostgreSQL

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

  1. Dynamic Sampling Killing Me i 12c

  2. En omfattende guide til, hvordan du bruger MySQL

  3. Hvad er år 2038-problemet?

  4. Slet alle duplikerede rækker undtagen én i MySQL?