MySQL从文本文件中插入日期值

时间:2010-12-13 16:33:13

标签: mysql

我有以下日期格式

28 Aug 2010 17:40:58 +0000 

有人可以建议我在插入mysql

时如何将其转换为日期或日期时间类型

我是按照以下方式从文件导入的。

load data local infile 'uniq.csv' into table tblUniq
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)

我不确定如何处理日期值,因此它将为mysql正确构建。

由于

2 个答案:

答案 0 :(得分:2)

看看here。似乎他们得到了解决方案(简单地说,想法是将变量添加到列列表,然后根据此变量的格式化值设置列值:
  load data local infile 'uniq.csv' into table tblUniq .....
(uniqName, uniqCity, uniqComments, @date_val)
SET datecolumn = date_format(str_to_date(@date_val, '%d-%M-%Y'), '%m/%d/%Y');

答案 1 :(得分:2)

如果您不介意发布大量警告并丢失时区信息(无法转换时区),您可以将上述答案转换为:

load data local infile 'uniq.csv' into table tblUniq ...
(uniqName, uniqCity, uniqComments, @date_val)
SET datetime_column=str_to_date(@date_val, '%d %b %Y %H:%i:%s');

将该列设为varchar
将数据加载到数据库后,
执行更新update ... set column=str_to_date(column, '%d %b %Y %H:%i:%s')
最后将列数据类型更改为datetime