Я пытаюсь превратить две даты в серию записей.Одна запись на каждую неделю между датами.
Кроме того, для отсечения недели следует использовать исходные даты начала и окончания, если диапазон начинается или заканчивается в середине недели.Я также предполагаю, что в понедельник начинается неделя.
С датой начала: 05/09/2018 и датой окончания 27/09/2018 Я хотел бы получить следующие результаты:
| # | Start Date | End date |
|---------------------------------|
| 0 | '05/09/2018' | '09/09/2018' |
| 1 | '10/09/2018' | '16/09/2018' |
| 2 | '17/09/2018' | '23/09/2018' |
| 3 | '24/09/2018' | '27/09/2018' |
Я достиг определенного прогресса - на данный момент я могу получить общее количество недель между диапазонами дат с помощью:
SELECT (
EXTRACT(
days FROM (
date_trunc('week', to_date('27/09/2018', 'DD/MM/YYYY')) -
date_trunc('week', to_date('05/09/2018', 'DD/MM/YYYY'))
) / 7
) + 1
) as total_weeks;
Всего недель вернет 4 для вышеуказанного SQL.Вот где я застрял, переходя от целого числа к фактическому набору результатов.