6 ответов:
date_part(текст, временная отметка)
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
to_char(timestamp, 'YYYY-MM')вы говорите, что порядок не "правильный", но я не могу понять, почему это неправильно (по крайней мере, до тех пор, пока не наступит 10000 год).
использовать
date_truncметод усечения день (или то, что вы хотите, например, неделю, год, день и т. д..)пример группировки продаж по заказам по месяцам:
select SUM(amount) as sales, date_trunc('month', created_at) as date from orders group by date order by date DESC;
вы можете усечь всю информацию после месяца с помощью
date_trunc(text, timestamp):select date_trunc('month',created_at)::date as date from orders order by date DESC;
вы можете использовать функцию извлечения pgSQL
EX- date = 1981-05-31 EXTRACT(MONTH FROM date) it will Give 05для более подробной информации pgsql Дата-Время
1 вариант
date_trunc('month', timestamp_column)::dateон будет поддерживать формат даты со всеми месяцами, начиная с первого дня.
пример:
2016-08-01 2016-09-01 2016-10-01 2016-11-01 2016-12-01 2017-01-012-й вариант
to_char(timestamp_column, 'YYYY-MM')это решение, предложенное @yairchu, отлично работало в моем случае. Я действительно хотел отказаться от информации "день".
Comments