Создать серию недельных интервалов для данного месяца

В базе данных Postgres 9.1 я пытаюсь создать серию недель для данного месяца, но с некоторыми ограничениями. Мне нужно, чтобы все недели начинались в понедельник, и меня урезали, когда они начинаются или заканчиваются через месяц.

Пример:

В феврале 2013 года я хочу создать серию, подобную этой:

         start
------------------------
2013-02-01 00:00:00+00
2013-02-04 00:00:00+00
2013-02-11 00:00:00+00
2013-02-18 00:00:00+00
2013-02-25 00:00:00+00

Запрос, который у меня сейчас есть, выглядит так:

SELECT GREATEST(date_trunc('week', dates.d),
                date_trunc('month',dates.d)) as start
FROM generate_series(to_timestamp(1359676800),to_timestamp(1362095999), '1 week') as dates(d)

Этот запрос дает мне первые 4 недели, но ему не хватает недели с 25го числа. Можно ли получить прошлую неделю?

Ответы на вопрос(2)

Ваш ответ на вопрос