Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PostgreSQL列从整数改为十进制_Postgresql - Fatal编程技术网

将PostgreSQL列从整数改为十进制

将PostgreSQL列从整数改为十进制,postgresql,Postgresql,由于客户端最后一分钟的请求,我们数据库中的整数字段现在需要是一个小数点,精确到两点。23的值应该变成23.00 有没有一种很好的方法可以转换表并转换数据 我坦率地承认,我以前从未在PostgreSQL上做过类似的事情,所以请对我温和一点。类似的事情应该会奏效: alter table t alter column c type decimal(10,2); 编辑: 如@Oli在评论中所述;第一个数字是数字的整个长度(不包括点),因此(10,2)的最大值将是9999999,(10,2)代表什么?

由于客户端最后一分钟的请求,我们数据库中的整数字段现在需要是一个小数点,精确到两点。
23
的值应该变成
23.00

有没有一种很好的方法可以转换表并转换数据


我坦率地承认,我以前从未在PostgreSQL上做过类似的事情,所以请对我温和一点。

类似的事情应该会奏效:

alter table t alter column c type decimal(10,2);
编辑:


如@Oli在评论中所述;第一个数字是数字的整个长度(不包括点),因此
(10,2)
的最大值将是
9999999

(10,2)
代表什么?这是否意味着它将接受高达
9999999.99
的值?我现在看到第一个数字是数字的整个长度(不包括点),因此
(10,2)
的最大值将是
9999999