Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich Datumsreihen in Amazon Redshift ohne generic_series()?

Wie erstelle ich Datumsreihen in Amazon Redshift ohne generic_series()?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-26 14:55:09412Durchsuche

How to Generate Date Series in Amazon Redshift Without generate_series()?

Serien in Redshift generieren

Amazon Redshift basiert auf einer älteren Version von PostgreSQL (8.0.2), die keine Unterstützung für generic_series( )-Funktion beim Umgang mit Zeitstempeln. Versuche, die Funktion mit Datumsangaben zu verwenden, wie zum Beispiel:

select * from generate_series(date('2008-10-01'),date('2008-10-10 00:00:00'),1)

führen zu einem Fehler.

Problemumgehungen

Trotz des Fehlens direkter Unterstützung für generic_series() mit Zeitstempeln, es gibt einige Problemumgehungen:

1. Aktuelle Datumsarithmetik:

SELECT current_date + (n || ' days')::interval
from generate_series (1, 30) n

Dieser Ansatz, der in PostgreSQL 8.3 und höher funktioniert, verwendet einfache Datumsarithmetik, um eine Reihe von Datumsangaben zu generieren.

2. Ganzzahltabelle:

Erstellen Sie eine Tabelle mit Ganzzahlen, die für die Datumsarithmetik verwendet werden können:

create table integers (
  n integer primary key
);

Füllen Sie die Tabelle aus und verwenden Sie sie für Datumsberechnungen:

select (current_date + n)
from integers
where n < 31;

Hinweis: Redshift unterstützt den Intervalldatentyp nicht, daher sind die oben genannten Problemumgehungen möglicherweise nicht möglich in allen Fällen verfügbar.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Datumsreihen in Amazon Redshift ohne generic_series()?. 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