2016-03-30 1 views
0

Использование ora2pg. Получил эту ошибку, в то время как COPYing to table.Postgresql - недействительный синтаксис ввода для целого числа: "x.x"

ERROR: invalid input syntax for integer: "2.8" 
CONTEXT: COPYsome_table, line 1, column col_err: "2.8" 

Heres мой стол:

col1  | bigint      | NOT NULL 
col2  | timestamp without time zone | NOT NULL 
col_err | bigint      | 
col4  | bigint      | 
col5  | bigint      | 
col6  | timestamp without time zone |   

Это строка из входного файла:

COPY some_table(col1,col2,col_err,col4,col5,col6) FROM STDIN; 
10  1999-01-01 00:00:00  2.8  2.8  \N  2009-06-14 00:00:00 

Что я делаю неправильно? Почему десятичный разделитель не работает здесь?

+1

Поскольку столбец является * целым числом *, но значение имеет десятичную точку. –

+0

Поскольку целые числа не имеют десятичных знаков. В сообщении об ошибке указано все –

ответ

0

Я думаю, вы должны использовать DECIMAL:

alter table t alter column col4 type decimal(4,1); 
alter table t alter column col5 type decimal(4,1); 

Изменить его в точности вам нужно.

+0

Thank's. Это было действительно глупо со мной. Я надеялся, что ora2pg преобразует его правильно. Похоже, что тип NUMBER по умолчанию был преобразован в bigint. –

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

  • Нет связанных вопросов^_^