Problem:
Sie müssen eine Liste von Daten zwischen zwei angegebenen Daten abrufen , einschließlich, aus einer PostgreSQL-Datenbank. Wenn beispielsweise das Startdatum der 29. Juni 2012 und das Enddatum der 3. Juli 2012 sind, wäre die gewünschte Ausgabe:
29 June 2012 30 June 2012 1 July 2012 2 July 2012 3 July 2012
Lösung:
In PostgreSQL können Sie mithilfe der Funktion „generate_series()“ effizient eine Folge von Datumsangaben innerhalb eines Bereichs generieren. Die folgende Abfrage liefert die gewünschte Ausgabe:
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
Eine alternative, prägnantere Syntax ist:
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
Beide Abfragen generieren den angegebenen Datumsbereich, und Sie können das Intervall anpassen Parameter nach Bedarf, um Bereiche basierend auf verschiedenen Zeiteinheiten wie Stunden, Wochen oder Monaten zu generieren.
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Datumsbereich in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!