Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich eine Datumsliste innerhalb eines bestimmten Bereichs in PostgreSQL?

Wie erstelle ich eine Datumsliste innerhalb eines bestimmten Bereichs in PostgreSQL?

DDD
DDDOriginal
2024-12-26 00:02:10583Durchsuche

How to Generate a Date List within a Specific Range in PostgreSQL?

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:

  • Startdatum: 29. Juni 2012
  • Enddatum: 3. Juli 2012

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn