将2.3214E7之类的数据保存到postgresql中

时间:2013-06-26 10:26:51

标签: postgresql amazon-redshift

是postgresql的新手(redshift) 我正在将CSV文件从S3复制到RedShift,并且尝试将2.35555E7号码保存到numeric | 18, 0列时出错。这个数据的正确数据类型是什么?

感谢

1 个答案:

答案 0 :(得分:5)

numeric (18,0)意味着零的比例,这是一种说不小数的方式 - 它有点像一个较小的bigint。

http://www.postgresql.org/docs/current/static/datatype-numeric.html

如果您想将其保留为数字,则需要使用numeric代替 - 没有精度或比例。

如果没有,请使用realdouble precision类型,具体取决于您要保留的有效位数(分别为6对15)。

您的示例数据(2.35555E7)表示您正在使用real,因此可能首先尝试使用该数据。


注意:select 2.35555E7::numeric(18,0)每条评论都可以正常运行,但我认为您的设备中还有一些其他数据会导致问题。