web-dev-qa-db-ja.com

PostgreSQL-数値の精度を変更しますか?

私はこのように精度を変更しようとしました:

ALTER Table account_invoice ALTER amount_total SET NUMERIC(5);

しかし、構文エラーが発生したため、明らかに何か間違ったことをしています。 PostgreSQLで数値の精度を変更するための正しい構文は何ですか?

16
Andrius

これを試して:

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

DECIMAL(X, Y)-> Xは全長を表し、Yは数値の精度を表します。

24
huzeyfe

あなたはこれを使うことができます:

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

ここで、Yは必要な精度レベルです。

7
Maike Mota

SETではなく、列名の後にTYPEキーワードを使用する必要があります

ALTER Table account_invoice ALTER amount_total TYPE NUMERIC(5);

ドキュメントを参照してください: ALTER TABLE

SQL Fiddleの例

4
GarethD