我需要将一个大文件的csv数据导入MySQL,当我尝试使用MySQL的unix_timestamp函数导入日期时,大约一半的记录没有成功。
据我所知,日期时间值的格式是使用单个第一个“月份”数字或其中两个,并且该月的日期也是如此(例如 6/6/2014 3:48PM 与. 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
关于mysql - 统一多种日期格式的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38128976/