PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SQL-Klonen und Konvertieren einer Datumsspalte

Würde Ihnen das helfen?

Dies verwendet die eingebaute Datumsformatierung in der TO_CHAR-Funktion. Ich bin mit postgresql aber nicht ganz zu Hause, also müssen vielleicht einige Anpassungen vorgenommen werden.

UPDATE
    TABLENAME
SET
    year = TO_CHAR(date, 'YYYY'),
    date = TO_CHAR(date, 'YYYYMM');

Wenn die Spalte "Jahr" noch nicht existiert, müssen Sie sie mit einem ALTER TABLE erstellen Anweisung zuerst

ALTER TABLE [table_name] ADD COLUMN [column_name] [data_type] {collation} {column_contstraint};

Ich würde empfehlen, die Dokumentation zu lesen für die korrekte Verwendung.

BEARBEITEN:Wenn Sie sich Sorgen über die Zeit machen, die zum Aktualisieren aller Zeilen benötigt wird (ich habe gesehen, dass Sie eine andere Antwort kommentiert haben, dass Sie ungefähr 2 Millionen Datensätze hatten), dann schlage ich vor, dieser Beitrag .

Es erklärt, dass es möglicherweise schneller ist, die Tabelle mit den Daten von Grund auf neu zu erstellen, anstatt jede einzelne Zeile zu aktualisieren.