これは役に立ちますか?
これは、TO_CHAR関数に組み込まれている日付フォーマットを使用しています。私はpostgresqltho'に完全に慣れていないので、微調整が必要になる場合があります。
UPDATE
TABLENAME
SET
year = TO_CHAR(date, 'YYYY'),
date = TO_CHAR(date, 'YYYYMM');
「年」列がまだ存在しない場合は、ALTER TABLE
を使用して列を作成する必要があります。 最初のステートメント
ALTER TABLE [table_name] ADD COLUMN [column_name] [data_type] {collation} {column_contstraint};
ドキュメント を確認することをお勧めします 正しい使用法について。
編集:すべての行を更新するのにかかる時間が心配な場合(約200万件のレコードがあるという別の回答にコメントしているのを見ました)、この投稿 。
すべての行を更新するよりも、データを使用して最初からテーブルを作成する方が速い場合があることを説明しています。