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