2013 年 3 月 1 日 00:00:00 から 2013 年 3 月 14 日 23:59:59 までの一連の日付を週単位で生成しようとしています。今までのクエリは次のようになります
SELECT GREATEST(date_trunc('week', dates.d),
date_trunc('month',dates.d)) as start
FROM generate_series(to_timestamp(1362096000),
to_timestamp(1363305599), '1 week') as dates(d)
出力:
start
------------------------
2013-03-01 00:00:00+00
2013-03-04 00:00:00+00
ご覧のとおり、最初の 2 週間は返されますが、2013 年 3 月 11 日から 2013 年 3 月 14 日までの週が欠落しているため、クエリは部分的に機能します。終了していなくても最後の週を取得する方法はありますか?