2016-03-09 4 views
0

Я получаю следующую ошибку от Redshift.Десятичный: общее число слишком велико в Redshift COPY

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), но мне нужно, чтобы изменить его, чтобы исправить ошибки округления.

ответ

1

numeric(7,7) означает, что общее количество допустимых цифр равно 7, а все 7 распределены как десятичные. Если вы хотите 7 десятичных знаков и 7 цифр numeric(14,7)

+0

Спасибо! Я собираюсь попробовать это сейчас – JuanCaicedo

+0

Это сделало это, еще раз спасибо – JuanCaicedo

1

Чтение документации http://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html

Это выглядит как тип данных numeric(7,7) может хранить только значения между 0-1 с 7 значащих цифр. Второе число - это число значений, которое вы можете получить после десятичного и первого числа - второе число будет числом значений, которое вы можете иметь до десятичного.

+0

Спасибо, это была определенно проблема! Я соглашусь принять вышеупомянутый ответ только потому, что он также включает в себя исправление – JuanCaicedo

Смежные вопросы