十进制:Redshift COPY 中的整数太大
Decimal: Integral number too large in Redshift COPY
我从 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)
时,此副本工作正常,但我需要更改它以修复舍入错误。
阅读文档http://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html
看起来numeric(7,7)
数据类型只能存储0-1之间的值,有效数字为7位。第二个数字是您可以在小数点后拥有的值的数量,第一个数字 - 第二个数字将是您可以在小数点之前拥有的值的数量。
numeric(7,7)
表示允许的总位数为 7,所有 7 都分配为小数。如果你想要7位小数和 7位你需要numeric(14,7)
我从 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)
时,此副本工作正常,但我需要更改它以修复舍入错误。
阅读文档http://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html
看起来numeric(7,7)
数据类型只能存储0-1之间的值,有效数字为7位。第二个数字是您可以在小数点后拥有的值的数量,第一个数字 - 第二个数字将是您可以在小数点之前拥有的值的数量。
numeric(7,7)
表示允许的总位数为 7,所有 7 都分配为小数。如果你想要7位小数和 7位你需要numeric(14,7)