最佳答案
我有一个像这样的查询,它可以很好地生成两个给定日期之间的一系列日期:
select date '2004-03-07' + j - i as AllDate
from generate_series(0, extract(doy from date '2004-03-07')::int - 1) as i,
generate_series(0, extract(doy from date '2004-08-16')::int - 1) as j
它在 2004-03-07
和 2004-08-16
之间生成162个日期,这就是我想要的。这段代码的问题在于,当这两个日期来自不同的年份时,它不会给出正确的答案,例如,当我尝试 2007-02-01
和 2008-04-01
时。
还有更好的解决办法吗?