MySqlImport-导入格式不正确的日期字段

MySqlImport-导入格式不正确的日期字段,mysql,mysqlimport,Mysql,Mysqlimport,我有一个csv文件,其中有一个日期字段,格式如下(除其他字段外): 当我执行mysqlimport时,其他字段被正确导入,但此字段仍然保持0000-00-00 00:00:00 如何正确导入此日期?我是否必须首先对文件运行sed/awk命令才能将其转换为正确的格式?如果是这样,那会是什么样子?用数字代替月份这一事实重要吗?我以前有过这个问题。我要做的是利用加载数据并在这里设置适当的表达式- [SET col_name = expr,...] 我以前就有过这个问题。我要做的是利用加载数据并在这里

我有一个csv文件,其中有一个日期字段,格式如下(除其他字段外):

当我执行mysqlimport时,其他字段被正确导入,但此字段仍然保持
0000-00-00 00:00:00


如何正确导入此日期?我是否必须首先对文件运行sed/awk命令才能将其转换为正确的格式?如果是这样,那会是什么样子?用数字代替月份这一事实重要吗?

我以前有过这个问题。我要做的是利用加载数据并在这里设置适当的表达式-

[SET col_name = expr,...]

我以前就有过这个问题。我要做的是利用加载数据并在这里设置适当的表达式-

[SET col_name = expr,...]

允许您在查询中将字符串转换为正确的日期。它需要日期字符串和格式字符串

检查手动输入中的示例,找出正确的格式

我认为它应该遵循
%d%b%Y
(但是%b应该生成类似
Dec
的字符串,而不是
Dec
,因此您必须尝试它是否有效)。

允许您在查询中将字符串转换为正确的日期。它需要日期字符串和格式字符串

检查手动输入中的示例,找出正确的格式


我认为它应该遵循
%d%b%Y
(但是%b应该生成类似
Dec
的字符串,而不是
Dec
,因此您必须尝试它是否有效)。

以下是我解决类似问题的方法。我的用例有点复杂,有这么多列,但在这里简单地介绍了解决方案。 我有Persons表(Id int autogen,name varchar(100),DOB date),需要从CSV文件中填充几百万个数据(name,DOB)

  • 在persons表中创建了名为(varchar_DOB varchar(25))的附加列
  • 使用mysqlimport实用程序将数据导入列(名称,varchar_DOB)
  • 执行更新查询,使用str_to_date(varchar_DOB,'format')函数更新DOB列
  • 现在,我希望数据填充到DOB列

  • 同样的逻辑也可以应用于其他类型的数据格式化,如double、time\u stamp等。

    以下是我解决类似问题的方法。我的用例有点复杂,有这么多列,但在这里简单地介绍了解决方案。 我有Persons表(Id int autogen,name varchar(100),DOB date),需要从CSV文件中填充几百万个数据(name,DOB)

  • 在persons表中创建了名为(varchar_DOB varchar(25))的附加列
  • 使用mysqlimport实用程序将数据导入列(名称,varchar_DOB)
  • 执行更新查询,使用str_to_date(varchar_DOB,'format')函数更新DOB列
  • 现在,我希望数据填充到DOB列
  • 同样的逻辑也可以应用于其他类型的数据格式化,如双精度、时间戳等