web-dev-qa-db-fra.com

PostgreSQL - changer la précision du numérique?

J'ai essayé de changer la précision comme ceci:

ALTER Table account_invoice ALTER amount_total SET NUMERIC(5);

Mais je reçois une erreur de syntaxe, donc je fais clairement quelque chose de mal. Quelle est la bonne syntaxe pour changer la précision du numérique dans PostgreSQL?

16
Andrius

Essaye ça:

ALTER Table account_invoice ALTER COLUMN amount_total TYPE DECIMAL(10,5);

DECIMAL(X, Y) -> X représente la longueur totale et Y représente la précision du nombre.

24
huzeyfe

Vous pouvez utiliser ceci:

ALTER Table account_invoice ALTER amount_total SET DATA TYPE NUMERIC(5,Y);

où Y est le niveau de précision requis.

7
Maike Mota

Vous devez utiliser le mot clé TYPE après le nom de la colonne, pas SET

ALTER Table account_invoice ALTER amount_total TYPE NUMERIC(5);

Voir la documentation: ALTER TABLE

Exemple sur SQL Fiddle

4
GarethD