2017-04-17 1 views
0

Ce que j'ai;Insérer, mettre à jour ou modifier une colonne dans postgres lorsque vous travaillez avec to_char

3 tableaux dans les postgres 9.4. Le tableau 1 est le tableau principal Les tableaux 2 et 3 contiennent des données supplémentaires (un multiplicateur de mise à jour) qui est trimestriel (par exemple, Q1 2017 au format varchar). Le tableau 1 comporte une date de transaction au format de date avec une colonne de prix payé. J'ai ajouté une colonne appelée «quarts» pour remplir avec de nouvelles données qui seront stockées comme varchar.

Ce que je veux faire;

Générer une colonne dans le tableau 1 trimestriel, que je peux faire à l'aide

SELECT to_char(dateoftransfer, '"Q"Q YYYY') as quarters 
FROM table_1; 

Si je puis essayer;

UPDATE table_1 (quarters) 
SELECT to_char(dateoftransfer, '"Q"Q YYYY') as quarters 
FROM table_1; 

je reçois l'erreur suivante

ERROR: syntax error at or near "quarters" 
LINE 1: (quarters) 
    ^

devrais-je utiliser COPY ou INSERT INTO en place? La raison pour laquelle je veux la colonne dans la table 1 est que je peux générer une colonne de prix de mise à jour dans le tableau 1 en utilisant une instruction WHERE pour trouver le bon multiplicateur. C'est un calcul d'ajustement de l'inflation.

+0

Votre syntaxe pour la commande 'UPDATE' est incorrecte. S'il vous plaît voir le manuel pour la syntaxe correcte: https://www.postgresql.org/docs/current/static/sql-update.html –

Répondre

1

Je pense que c'est ce que vous voulez.

UPDATE table_1 
SET quarters = to_char(dateoftransfer, '"Q"Q YYYY');