PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Добавете месеци към дата в PostgreSQL

В PostgreSQL можем да използваме + оператор за добавяне на един или повече месеца към дата. Има няколко опции, когато става въпрос за определяне на действителния брой месеци.

Примери

Postgres ни позволява да посочим интервали при добавяне към дати. Следователно можем да посочим month или months :

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

Резултат:

2030-02-20 00:00:00

И в множествено число:

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

Резултат:

2030-07-20 00:00:00

Посочено в дни

Можем също да използваме еквивалентното число в дни (или седмици по този въпрос):

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

Резултат:

2030-02-20 00:00:00

Очевидно дали това съвпада с точния брой месеци или не ще зависи от действителния брой посочени дни или седмици.

Като алтернатива можем да използваме цяло число, когато го указваме в дни:

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

Резултат:

2030-02-20

Можем да го направим и така:

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

Резултат:

2030-02-20

Отрицателни стойности

Можем също да извършим аритметика за дата с отрицателни стойности. Ако използваме отрицателна стойност с + знак, тогава посоченият брой месеци ще бъде изваден от датата. Но ако го използваме с - знак, след което ще бъде добавен към датата.

Пример:

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

Резултат:

2030-07-20 00:00:00

Можем да направим същото с опцията integer:

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

Резултат:

2030-07-20

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Производителност на OLTP след PostgreSQL 8.3

  2. Как да зададете потребителска парола по подразбиране в PostgreSQL

  3. Често срещани грешки при мигриране на PostgreSQL бази данни от On-Prem към AWS RDS

  4. Генерирана стойност в Postgres

  5. Индекс с няколко колони на 3 полета с хетерогенни типове данни