PostgreSQL:将字符数据类型从Character Varying修改为Double Precision

时间:2014-09-29 17:47:08

标签: postgresql data-conversion double-precision

我遇到了一些关于列数据类型更改的问题 - 特别是从字符变化到双精度。这个修改的目标是,我可以在此列上执行SUM和平均值。

我尝试这样做的另一种方法是创建一个具有双精度的新列,并使用字符变化列更新该列,但到目前为止还没有运气。任何帮助表示感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

假设您在该列中没有任何非法值(即无法转换为数字的值),则应执行以下操作:

alter table some_table 
   alter column some_column type decimal(10,2) using some_column::decimal;

我使用了decimal,因为使用double几乎总是一个糟糕的选择,因为这是一个近似数据类型,它不能保证您获得与您相同的值存储在里面。有关详细信息,请访问此网站:http://floating-point-gui.de/