Postgres: Как извлечь год и месяц из даты? - PullRequest
0 голосов
/ 06 апреля 2020

Один из моих столбцов - это тип даты в следующем формате: ГГГГ-ММ-ДД. Я хочу извлечь YYYY-MM. Пока что ресурсы, с которыми я столкнулся, показывают, что я могу извлечь любой год, используя SELECT extract(year from order_date)..., но я не могу понять, как извлечь и год, и месяц. Я попробовал следующее, но это не сработало: https://www.w3schools.com/sql/func_mysql_extract.asp

Ответы [ 2 ]

3 голосов
/ 06 апреля 2020

В PostgreSQL вы можете использовать TO_CHAR():

SELECT TO_CHAR(order_date, 'YYYY-MM')

Выход (если order_date = '2020-04-06'):

2020-04

Обратите внимание, если ваш столбец это уже не date или timestamp, вам нужно привести его к date или timestamp (например, order_date::date).

Демонстрация на dbfiddle

2 голосов
/ 06 апреля 2020

Я просто хочу отметить, что часто удобно оставлять значение как date . Если это так, используйте date_trunc():

select date_trunc('month', order_date) as yyyymm

Если вы действительно хотите строку, вы должны принять ответ Ника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...