我试图像这样改变精度:
ALTER Table account_invoice ALTER amount_total SET NUMERIC(5);
但是我得到语法错误,所以我显然做错了。在PostgreSQL中改变数字精度的正确语法是什么?
答案 0 :(得分:18)
试试这个:
ALTER Table account_invoice ALTER COLUMN amount_total TYPE DECIMAL(10,5);
DECIMAL(X, Y)
- > X表示全长,Y表示数字的精确度。
答案 1 :(得分:7)
您可以使用:
{{1}}
其中Y是您所需的精确度。
答案 2 :(得分:4)
您需要在列名后使用TYPE
关键字,而不是SET
ALTER Table account_invoice ALTER amount_total TYPE NUMERIC(5);
请参阅文档:ALTER TABLE
<强> Example on SQL Fiddle 强>