我正在加载一个csv文件来创建一个新表,其中包含一个包含十进制值为1.449043781的列。
这是我的代码
CREATE TABLE table (
v1 float
);
Postgres发出错误,指出类型为numeric的输入语法错误,即使该值为float也是如此。我已经尝试将数据类型声明更改为十进制(15,13)无效。我在这里错过了什么?
谢谢您的意见。
无法复制 - 在9.6上没有错误的副本:
t=# CREATE TABLE t (
v1 float
);
CREATE TABLE
t=# copy t from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1.449043781
>> \.
COPY 1
t=# select v1,pg_typeof(v1) from t;
v1 | pg_typeof
-------------+------------------
1.449043781 | double precision
(1 row)
从你的错误,它看起来你用数字创建表,而不是浮动。 And they are not the same(两者都会接受1.449043781
)