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

Tilføj måneder til en dato i PostgreSQL

I PostgreSQL kan vi bruge + operatør for at tilføje en eller flere måneder til en dato. Der er flere muligheder, når det kommer til at angive det faktiske antal måneder.

Eksempler

Postgres giver os mulighed for at angive intervaller, når vi tilføjer til datoer. Vi kan derfor angive month eller months :

SELECT date '2030-01-20' + interval '1 month';

Resultat:

2030-02-20 00:00:00

Og i flertalsform:

SELECT date '2030-01-20' + interval '6 months';

Resultat:

2030-07-20 00:00:00

Specificeret i dage

Vi kan også bruge det tilsvarende antal i dage (eller uger for den sags skyld):

SELECT date '2030-01-20' + interval '31 days';

Resultat:

2030-02-20 00:00:00

Om dette matcher det nøjagtige antal måneder eller ej, afhænger naturligvis af det faktiske antal dage eller uger, der er angivet.

Vi kan alternativt bruge et heltal, når vi angiver det i dage:

SELECT date '2030-01-20' + 31;

Resultat:

2030-02-20

Vi kan også gøre det sådan her:

SELECT date '2030-01-20' + integer '31';

Resultat:

2030-02-20

Negative værdier

Vi kan også udføre datoregning med negative værdier. Hvis vi bruger en negativ værdi med + tegn, så vil det angivne antal måneder blive trukket fra datoen. Men hvis vi bruger det med - underskrive, så føjes det til datoen.

Eksempel:

SELECT date '2030-01-20' - interval '-6 months';

Resultat:

2030-07-20 00:00:00

Vi kan gøre det samme med heltalsindstillingen:

SELECT date '2030-01-20' - integer '-181';

Resultat:

2030-07-20

  1. Hvordan man deler en streng efter et bestemt tegn i SQL Server og opdaterer denne værdi til en bestemt kolonne

  2. Hvorfor giver denne SQL-kode fejl 1066 (Ikke unik tabel/alias:'bruger')?

  3. Sådan installeres sqlcmd &bcp på Red Hat

  4. Annoncering af ClusterControl 1.4.1 - ProxySQL-udgaven