类型为数字的输入语法错误无效:V1

问题描述 投票:0回答:1

我正在加载一个csv文件来创建一个新表,其中包含一个包含十进制值为1.449043781的列。

这是我的代码

CREATE TABLE table (
   v1 float
);

Postgres发出错误,指出类型为numeric的输入语法错误,即使该值为float也是如此。我已经尝试将数据类型声明更改为十进制(15,13)无效。我在这里错过了什么?

谢谢您的意见。

sql postgresql
1个回答
0
投票

无法复制 - 在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

© www.soinside.com 2019 - 2024. All rights reserved.