Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich mit „generate_series' einen Datumsbereich in PostgreSQL?

Wie erstelle ich mit „generate_series' einen Datumsbereich in PostgreSQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 21:27:17822Durchsuche

How to Generate a Date Range in PostgreSQL Using generate_series?

Generieren eines Datumsbereichs in PostgreSQL

Das Bestimmen der Daten, die zwischen einem bestimmten Bereich liegen, ist eine häufige Aufgabe in der Programmierung. In PostgreSQL kann dies mit der Funktion generate_series erreicht werden.

Mit generate_series können Sie eine Folge von Daten basierend auf einem Startpunkt, einem Endpunkt, und ein Intervall. Das Intervall kann in Tagen, Monaten, Jahren oder anderen Zeiteinheiten angegeben werden.

Beispiel:

Angenommen, Sie haben die folgenden Anforderungen:

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

Um die Liste der Daten innerhalb dieses Bereichs zu generieren, können Sie die folgende Abfrage verwenden:

select CURRENT_DATE + i 
from generate_series(date '2012-06-29'- CURRENT_DATE, 
     date '2012-07-03' - CURRENT_DATE ) i

Diese Abfrage generiert eine Folge von Daten vom 29. Juni 2012 bis Juli 3. 2012 im Abstand von einem Tag. Das Ergebnis wird sein:

29 june 2012
30 june 2012 
1 july 2012 
2 july 2012 
3 july 2012

Alternativ können Sie die Abfrage mit der folgenden Syntax vereinfachen:

select i::date from generate_series('2012-06-29', 
  '2012-07-03', '1 day'::interval) i

Beide Abfragen generieren effektiv das gewünschte Datum Bereich in PostgreSQL.

Das obige ist der detaillierte Inhalt vonWie erstelle ich mit „generate_series' einen Datumsbereich 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