我从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)
时,此副本工作正常,但我需要更改它以修复舍入错误。
答案 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个有效数字。第二个数字是小数点后的值和第一个数字 - 第二个数字是小数点前的值。