Erhalten einer Datumsliste innerhalb eines Bereichs in PostgreSQL
In PostgreSQL kann das Abrufen einer Liste von Tagen zwischen zwei bestimmten Daten ganz einfach erreicht werden mit eine Kombination aus der Funktion CURRENT_DATE und der Funktion generic_series(). Diese Methode bietet Flexibilität bei der Definition des Bereichs und des Intervalls zwischen Datumsangaben.
Die Funktion CURRENT_DATE gibt das aktuelle Systemdatum zurück, während die Funktion generic_series() eine Folge von Datumsangaben basierend auf den bereitgestellten Parametern generiert.
Beispiel:
Bedenken Sie Folgendes Szenario:
Um die Liste der Tage zwischen diesen beiden Daten abzurufen, müssen Sie kann die folgende Abfrage verwenden:
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
Die Ausgabe erfolgt sein:
29 june 2012 30 june 2012 1 july 2012 2 july 2012 3 july 2012
Alternativ kann eine prägnantere Abfrage verwendet werden:
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
Diese Abfrage wandelt den i-Wert explizit in einen Datumsdatentyp um, um sicherzustellen dass die Ausgabe nur Datumsangaben enthält.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Datumsliste innerhalb eines bestimmten Bereichs in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!