mysql - 统一多种日期格式的简单方法?

标签 mysql csv datetime timestamp

我需要将一个大文件的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/

相关文章:

mysql - 需要创建一个 Action 查询来在电影列表中搜索一个字符串并生成与该字符串匹配的电影标题和导演

mysql - 将逗号分隔的文本文件加载到 MySQL : doesn't work correctly

java - Spring Batch 提交间隔配置不起作用

sql - 展平相交的时间跨度

c++ - 将日期、时间和 UTC 偏移值转换为自 unix 纪元以来的毫秒数?

java - 反序列化包含时间戳的对象

java - 使用Hibernate将文件保存在mysql数据库中

php - 用PHP将日期和时间写入LOG文件

php - 有限制的结果总数

java - 在 Android 上从/res/raw/检索表格数据并将其存储到 2D 数组中的最快方法