我需要将大量的csv数据文件导入MySQL,当我尝试使用MySQL的unix_timestamp函数导入日期时,大约有一半的记录没有成功。
据我所知,日期时间值的格式为单个第一个"月"数字或两个,同样与月份的日期相符(例如2014年6月6日下午3:48对比12/16/2014 3:48 PM)这完全抛弃了导入(大约一半的记录)不会导入)。
我试图将其转换为unix_timestamp。
现在我知道我可以编写一个带正则表达式的脚本来修复这样的东西,但我想知道是否有更简单的方法来进行这样的大规模导入?为了记录,我使用我的文本编辑器将csv中的sql语句写为"插入"声明。这是我尝试使用日期格式的地方,但它似乎只接受一种格式。
如果输入有这么小的差异,有什么办法吗?
答案 0 :(得分:0)
实际上,尽管我发表了评论,但这样的可能会工作:
COALESCE(STR_TO_DATE(val, "formatcandidate1")
, STR_TO_DATE(val, "formatcandidate2")
, STR_TO_DATE(val, "formatcandidate3")
, STR_TO_DATE(val, "formatcandidate4")
, [etc...]
) AS dateVal
答案 1 :(得分:0)
有一些在线工具可以做这种事情 reports.zoho.com 就是其中之一
在此工具中,您可以导入应用特定日期格式的数据并跳过其他行。 您可以对文件中存在的所有格式执行相同的操作
最后,您可以为所有数据导出具有相同日期格式的数据
如果你对此有任何疑问,请问我:)