小编典典

如何在大量插入之前将.csv文件中的日期转换为SQL格式

sql

我有一个带有几千个游戏日期的csv文件,但它们都是MM / DD / YYYY格式

2/27/2011,3:05 PM,26,14

(26和14是团队ID#),并试图将它们放入SQL中,那样只会导致将0000-00-00放入我表的日期字段中。这是我尝试使用的命令:

LOAD DATA LOCAL INFILE 'c:/scheduletest.csv' INTO TABLE game
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(`date`, `time`, `awayteam_id`, `hometeam_id`);

但同样,它不会正确地安排日期。有什么办法可以让它在尝试插入日期时转换日期?我发现了另一个与此类似的问题,但我无法使其正常工作。


阅读 173

收藏
2021-04-22

共1个答案

小编典典

您是否尝试过以下方法:

LOAD DATA LOCAL INFILE 'c:/scheduletest.csv' INTO TABLE game
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(@DATE_STR, `time`, `awayteam_id`, `hometeam_id`)
SET `date` = STR_TO_DATE(@DATE_STR, '%c/%e/%Y');

有关更多信息,该文档提供了有关将用户变量与LOAD
DATA一起
使用的详细信息(大约中途-
在页面中搜索“ SET子句中的用户变量”)

2021-04-22