sql >> Database >  >> RDS >> PostgreSQL

Uren toevoegen aan een tijdwaarde in PostgreSQL

In PostgreSQL kunnen we de + . gebruiken operator om een ​​of meer uren bij een tijdwaarde op te tellen.

Volgens de waarde "tijd" kan dit een werkelijke time zijn waarde, een timestamp , of een interval . We kunnen ook uren toevoegen aan een date waarde of een date en time combinatie.

Voorbeeld

We kunnen intervallen specificeren bij het toevoegen aan datums en tijden. We kunnen bijvoorbeeld hour . gebruiken of hours om een ​​of meer uren toe te voegen:

SELECT time '08:35' + interval '1 hour';

Resultaat:

09:35:00

Meervoud

En in meervoud:

SELECT time '08:35' + interval '2 hours';

Resultaat:

10:35:00

Tijdstempels

En hier is het met een timestamp waarde:

SELECT timestamp '2030-01-20 08:35' + interval '2 hours';

Resultaat:

2030-01-20 10:35:00

Intervallen

We kunnen ook uren toevoegen aan een interval :

SELECT interval '23 hours' + interval '2 hours';

Resultaat:

25:00:00

Datums

We kunnen zelfs uren toevoegen aan een date waarde:

SELECT date '2030-01-20' + interval '3 hours';

Resultaat:

2030-01-20 03:00:00

Het resultaat is een timestamp waarde.

Datum- en tijdwaarden gecombineerd

We kunnen ook een date toevoegen en time waarde samen, en voeg daar uren aan toe:

SELECT date '2030-01-20' + time '02:35' + interval '3 hours';

Resultaat:

2030-01-20 05:35:00

Gespecificeerd in minuten

Een andere manier om dit te doen is door het equivalente aantal in minuten op te geven:

SELECT time '15:45' + interval '60 minutes';

Resultaat:

16:45:00

Daarbij hoeven we niet precies op het uur aanwezig te zijn. We kunnen bijvoorbeeld meer dan een uur toevoegen, maar minder dan twee:

SELECT time '15:45' + interval '90 minutes';

Resultaat:

17:15:00

Negatieve waarden

Het is mogelijk om datumberekeningen uit te voeren met negatieve waarden. Als we een negatieve waarde gebruiken met de + operator, dan wordt het opgegeven aantal uren afgetrokken van de ingevoerde datum/tijd. Maar als we het gebruiken met de - operator, dan wordt het toegevoegd aan de ingevoerde datum/tijd.

Voorbeeld:

SELECT time '03:00' - interval '-2 hours';

Resultaat:

05:00:00

  1. Lopend totaal berekenen in roodverschuiving

  2. Hoe CTE kan helpen bij het schrijven van complexe, krachtige zoekopdrachten:een prestatieperspectief

  3. Rijen verwijderen met MySQL LEFT JOIN

  4. Een database-e-mailaccount verwijderen uit een profiel in SQL Server (T-SQL)