Generieren von Zeitreihen zwischen zwei Daten in PostgreSQL

Ich habe eine Abfrage wie diese, die eine Reihe von Datumsangaben zwischen zwei angegebenen Datumsangaben erzeugt:

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

Es werden 162 Daten zwischen erzeugt2004-03-07 und2004-08-16 und das was ich will. Das Problem mit diesem Code ist, dass es nicht die richtige Antwort gibt, wenn die beiden Daten aus unterschiedlichen Jahren stammen, zum Beispiel, wenn ich es versuche2007-02-01 und2008-04-01.

Gibt es eine bessere Lösung?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage