Я хочу выбрать sql:,
SELECT "year-month" from table group by "year-month" AND order by date
где год-месяц - формат даты «1978-01», «1923-12».
выберите to_char работы , но не в "правильном" порядке:
to_char(timestamp_column, 'YYYY-MM')
sql
postgresql
Bdfy
источник
источник
Ответы:
например
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
источник
Вы говорите, что порядок неправильный, но я не понимаю, почему он неправильный (по крайней мере, до 10000 года).
источник
ORDER BY
встречаться.ORDER BY to_char(timestamp, 'YYYY-MM')
. Или, если вы это сделали,SELECT to_char(timestamp, 'YYYY-MM') AS date
вы можете просто использоватьORDER BY date
.Используйте этот
date_trunc
метод, чтобы обрезать день (или что угодно, например, неделю, год, день и т. Д.)Пример группировки продаж из заказов по месяцам:
источник
Вы можете усечь всю информацию после месяца, используя
date_trunc(text, timestamp)
:Пример:
ввод:
Выход 1:
Выход 2:
Выход 3:
Результат 4:
источник
1-й вариант
Он будет поддерживать формат даты со всеми месяцами, начиная с первого дня.
Пример:
2-й вариант
Это решение, предложенное @yairchu, отлично работало в моем случае. Очень хотелось отбросить «дневную» информацию.
источник
Вы можете использовать функцию EXTRACT pgSQL
Подробнее о PGSQL Date-Time
источник
Он работает для функций "больше чем" не меньше чем.
Например:
работает нормально.
но для
Я получаю ошибку
источник