PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Clonage SQL et conversion d'une colonne de date

Cela vous aiderait-il ?

Cela utilise le formatage de date intégré dans la fonction TO_CHAR. Je ne suis pas tout à fait à l'aise avec postgresql, donc quelques ajustements pourraient être nécessaires.

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

Si la colonne "année" n'existe pas déjà, il faudra la créer avec un ALTER TABLE déclaration d'abord

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

Je recommanderais de vérifier la documentation pour une utilisation correcte.

EDIT :si vous vous inquiétez du temps qu'il faudrait pour mettre à jour toutes les lignes (je vous ai vu commenter une autre réponse indiquant que vous aviez environ 2 millions d'enregistrements), alors je vous suggère de lire cet article .

Il explique qu'il peut être plus rapide de créer le tableau à partir de zéro avec les données au lieu de mettre à jour chaque ligne.