Различные способы создания интервалов в PostgreSQL - PullRequest
0 голосов
/ 22 октября 2018

Я недавно сталкивался с этим способом использования типа interval в PostgreSQL:

SELECT CURRENT_DATE + INTERVAL '1' month;
      ?column?       
---------------------
 2018-11-22 00:00:00

Из документов это выглядит как "правильный" способ сделатьэто будет:

SELECT CURRENT_DATE + INTERVAL '1 month';
      ?column?       
---------------------
 2018-11-22 00:00:00

Эти два запроса эквивалентны?Где задокументирован прежний синтаксис?

1 Ответ

0 голосов
/ 24 октября 2018

Первый синтаксис - это стандартный синтаксис SQL:

<interval literal> ::= INTERVAL [ <sign> ] <interval string> <interval qualifier>

<interval qualifier> ::=
    <start field> TO <end field>
  | <single datetime field>

Я избавлю вас от определения <start field>, <end field> и <single datetime field>, но по сути они могутпринять значения YEAR, MONTH, DAY, MINUTE или SECOND.

PostgreSQL не поддерживает <sign>, вам придется добавить это в строку.

Вот несколько образцов:

INTERVAL '1-10' YEAR TO SECOND
INTERVAL '20:03:15' DAY TO SECOND
INTERVAL '1' DAY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...