是postgresql的新手(redshift)
我正在将CSV文件从S3复制到RedShift,并且尝试将2.35555E7号码保存到numeric | 18, 0
列时出错。这个数据的正确数据类型是什么?
感谢
答案 0 :(得分:5)
numeric (18,0)
意味着零的比例,这是一种说不小数的方式 - 它有点像一个较小的bigint。
http://www.postgresql.org/docs/current/static/datatype-numeric.html
如果您想将其保留为数字,则需要使用numeric
代替 - 没有精度或比例。
如果没有,请使用real
或double precision
类型,具体取决于您要保留的有效位数(分别为6对15)。
您的示例数据(2.35555E7)表示您正在使用real
,因此可能首先尝试使用该数据。
注意:select 2.35555E7::numeric(18,0)
每条评论都可以正常运行,但我认为您的设备中还有一些其他数据会导致问题。