Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich Datumsreihen in Amazon Redshift ohne generic_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!