使用LOAD IN DATA FILE加载时更改日期格式

时间:2013-10-25 05:26:56

标签: mysql

我正在从CSV文件加载数据,它包含大约70k条记录,在csv文件中,一列的日期格式类似于10/24/2013 5:27:05 PM,在我的表中日期格式就像(datetime 00- 00-0000),所以当我使用下面的命令从csv文件上传数据时,由于时间戳不同而失败了。

LOAD DATA INFILE“/tmp/fulldata.csv”INTO TABLE test.customerorders COLUMNS终止于','由'\ n'终止的行;

如何在我的表格中修复此时间戳以及如何将数据上传到表格中?

1 个答案:

答案 0 :(得分:0)

您可以转换如下数据:

SELECT STR_TO_DATE( '10/24/2013 5:27:05 PM', '%m/%d/%Y %I:%i:%s %p' )

并将其存储在日期时间字段

修改: 对于70K记录,LOAD数据文件可以加载得更快。

LOAD DATA LOCAL INFILE '/filelocationfromroot' INTO TABLE `yourtablename` 
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(
`tablefieldforfirstcsvcolumn`,`tablefieldforsecondcsvcolumn`,...,@yourdatecolumn,
)
SET `datacolumnname`=STR_TO_DATE( @yourdatecolumn, '%m/%d/%Y %I:%i:%s %p' )