十进制:Redshift中的积分数太大COPY

时间:2016-03-09 14:52:34

标签: amazon-redshift

我从Redshift收到以下错误。

Decimal: Integral number too large

插入以下csv行时会发生这种情况

2015-03-20,A_M300X250CONTENT_INT_ADSENSE,3443,3443,1.4,13,, 

1.4引发了错误。

该列的定义如下:

schemaName | tablename | column          | type         | encoding | disktkey | sortkey | notnull 
-----------|-----------|-----------------|--------------|----------|----------|---------|---------
public     | partners  | revenue_partner | numeric(7,7) | none     | false    | 0       | false

当类型为numeric(7,2)时,此副本工作正常,但我需要更改它以修复舍入错误。

2 个答案:

答案 0 :(得分:2)

numeric(7,7)表示允许的总位数为7,所有7位数均为小数。如果您需要7位小数 7位数,则需要numeric(14,7)

答案 1 :(得分:1)

阅读文档http://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html

看起来numeric(7,7)数据类型只能存储介于0到1之间的值和7个有效数字。第二个数字是小数点后的值和第一个数字 - 第二个数字是小数点前的值。