如何将日期字符串数据的数据加载到MySQL数据库中?

发布于 2025-01-21 11:39:32 字数 801 浏览 3 评论 0原文

这是我的.csv文件的一瞥:

Name,Start Date,End Date,Budget
Class 1,1/1/2020,31/1/2020,"USD10,000.00"
Class 2,1/2/2020,28/2/2020,"USD14,000.00"

CSV中的日期格式是%e/%c/%y

我正在尝试将此数据加载到表class,这是我所做的:

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/class.csv' 
INTO TABLE class
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(class_name, @start_date, @end_date, @budget)
SET start_date = REPLACE(@start_date, '/', '-'),
end_date = REPLACE(@start_date, '/', '-'),
budget = REPLACE(@budget, 'USD', ''),
budget = REPLACE(@budget, ',', '');

但是它返回

 错误代码:1292。 
不正确的日期值:'1-1-2021'for column'start_date在第1行 
 

如何处理?

Here is a glimpse of my .csv file:

Name,Start Date,End Date,Budget
Class 1,1/1/2020,31/1/2020,"USD10,000.00"
Class 2,1/2/2020,28/2/2020,"USD14,000.00"

The date format in csv is %e/%c/%Y.

I am trying to load this data to a table class, here is what I have done:

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/class.csv' 
INTO TABLE class
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(class_name, @start_date, @end_date, @budget)
SET start_date = REPLACE(@start_date, '/', '-'),
end_date = REPLACE(@start_date, '/', '-'),
budget = REPLACE(@budget, 'USD', ''),
budget = REPLACE(@budget, ',', '');

But it returns

Error Code: 1292. 
Incorrect date value: '1-1-2021' for column 'start_date' at row 1 

How to handle this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绅士风度i 2025-01-28 11:39:32

似乎您需要使用 str_to_date()诸如start_date之类的函数

SET start_date = STR_TO_DATE(@start_date, '%d/%m/%Y')

date 类型列,而不是普通字符串。据推测,相同的逻辑也应适用于end_date

Seems you need to use STR_TO_DATE() function such as

SET start_date = STR_TO_DATE(@start_date, '%d/%m/%Y')

as start_date is a DATE type column, but not an ordinary string. Presumably, the same logic should work also forend_date.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文