【问题标题】:Change date format while loading with LOAD IN DATA FILE使用 LOAD IN DATA FILE 加载时更改日期格式
【发布时间】:2013-10-25 05:26:55
【问题描述】:

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

LOAD DATA INFILE "/tmp/fulldata.csv" INTO TABLE test.customerorders COLUMNS TERMINATED BY ',' LINES TERMINATED BY '\n';

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

【问题讨论】:

标签: mysql


【解决方案1】:

你可以像下面这样转换数据:

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' )

【讨论】:

  • 实际上我正在从 CSV 文件加载数据,它包含大约 70k 条记录,在 csv 文件中,日期格式类似于 10/24/2013 5:27:05 PM,而在我的表格中,日期格式就像( datetime) 那么如何修复它以及如何上传它。
  • 谢谢,太棒了
猜你喜欢
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 2015-05-16
  • 2016-10-20
  • 2012-11-04
  • 2016-04-16
  • 2014-05-07
  • 2018-03-11
相关资源
最近更新 更多