Heim > Datenbank > MySQL-Tutorial > Wie kann ich in PostgreSQL genaue Datumsreihen über mehrere Jahre hinweg generieren?

Wie kann ich in PostgreSQL genaue Datumsreihen über mehrere Jahre hinweg generieren?

Barbara Streisand
Freigeben: 2025-01-21 17:01:09
Original
137 Leute haben es durchsucht

How Can I Generate Accurate Date Series Across Multiple Years in PostgreSQL?

Generieren Sie genau PostgreSQL-Datumsreihen über mehrere Jahre hinweg

Die Funktion generate_series ist nützlich, wenn in PostgreSQL eine Datumssequenz zwischen zwei angegebenen Daten generiert wird. Wie die folgende Abfrage zeigt, liefert sie jedoch möglicherweise keine genauen Ergebnisse, wenn sich die Daten auf verschiedene Jahre erstrecken:

<code class="language-sql">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</code>
Nach dem Login kopieren

Um dieses Problem zu lösen, kann eine präzisere Lösung verwendet werden, die die Konvertierung von Zeitstempeln beinhaltet:

<code class="language-sql">SELECT date_trunc('day', dd):: date
FROM generate_series
        ( '2007-02-01'::timestamp 
        , '2008-04-01'::timestamp
        , '1 day'::interval) dd
        ;</code>
Nach dem Login kopieren

In dieser Abfrage wird die Funktion date_trunc verwendet, um den Datumsanteil aus dem generierten Zeitstempel zu extrahieren und so genaue Ergebnisse sicherzustellen, selbst wenn sich die Daten über verschiedene Jahre erstrecken. Die Funktion generate_series erstellt eine Folge von Zeitstempeln im Abstand von einem Tag, und die Funktion date_trunc wandelt diese Zeitstempel dann wieder in Datumsangaben um und stellt so eine zuverlässige Datumsfolge bereit.

Das obige ist der detaillierte Inhalt vonWie kann ich in PostgreSQL genaue Datumsreihen über mehrere Jahre hinweg generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage