首页 > 解决方案 > Postgres:数字类型的无效输入语法:“2021-02-14”......但它是日期时间格式?

问题描述

我对我在 PgAdmin 的查询工具中遇到的这个错误感到非常困惑。我已经为此工作了好几天,但在尝试将此 csv 文件上传到我的 Postgres 表时找不到解决此错误的解决方案。

ERROR:  invalid input syntax for type numeric: "2021-02-14"
CONTEXT:  COPY CardData, line 2, column sold_price: "2021-02-14"
SQL state: 22P02

这是我正在运行的查询工具中的代码

CREATE TABLE Public."CardData"(Title text, Sold_Price decimal, Bids int, Sold_Date date, Card_Link text, Image_Link text)

select * from Public."CardData"

COPY Public."CardData" FROM 'W:\Python_Projects\cardscrapper_project\ebay_api\card_data_test.csv' DELIMITER ',' CSV HEADER ;

这是我的 csv 文件第一行的示例。

Title,Sold_Date,Sold_Price,Bids,Card_Link,Image_Link
2018 Contenders Optic Sam Darnold #103 Red Rookie #/99 PSA 8 NM-MT AUTO 10,2021-02-14,104.5,26,https://www.ebay.com/itm/2018-Contenders-Optic-Sam-Darnold-103-Red-Rookie-99-PSA-8-NM-MT-AUTO-10/143935698791?hash=item21833c7767%3Ag%3AjewAAOSwNb9gGEvi&LH_Auction=1,https://i.ebayimg.com/thumbs/images/g/jewAAOSwNb9gGEvi/s-l225.jpg

“Sold_Date”列采用正确的日期时间格式,Postgres 易于理解,但错误是调用“Sold-Price”列?

我很困惑。任何帮助是极大的赞赏。

标签: postgresqlpgadmin

解决方案


请注意,列在 csv 文件和表中的顺序不同。

您必须指定正确的列顺序

COPY Public."CardData" (Title,Sold_Date,Sold_Price,Bids,Card_Link,Image_Link) 
FROM 'W:\Python_Projects\cardscrapper_project\ebay_api\card_data_test.csv' 
DELIMITER ',' CSV HEADER ;

推荐阅读