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.