Generate_series. Функции, возвращающие множества в postgresql
В postgres есть замечательная функция generate_series. Необходима данная функция, для возврата множества значений, заданных в функции.
Синтаксис:
generate_series(start, stop, [step])
С помощью, данной функции можно генерировать множество строк дат (timestamp, timestamp with time zone) или чисел(int, bigint, numeric).
Рассмотрим пример, создания ряда чисел с помощью generate_series:
Результат:
generate_series |
3 |
4 |
5 |
6 |
7 |
Пример ряда чисел, с шагом с помощью genereate_series:
Результат:
generate_series |
10 |
8 |
6 |
4 |
2 |
Пример запроса, возвращающий множество строк с типом дата, с указаным шагом (1 месяц):
Результат:
generate_series |
2017-01-01 00:00:00 |
2017-02-01 00:00:00 |
2017-03-01 00:00:00 |
2017-04-01 00:00:00 |
2017-05-01 00:00:00 |
2017-06-01 00:00:00 |
2017-07-01 00:00:00 |
2017-08-01 00:00:00 |
2017-09-01 00:00:00 |
2017-10-01 00:00:00 |
2017-11-01 00:00:00 |
2017-12-01 00:00:00 |
Если вам помогла статья, пожалуйста перейдите по одному из рекламных блоков, расположенных на сайте. Таким образом вы поддержите проект. Спасибо