字符串日期从csv文件到mysql

时间:2014-09-09 13:33:50

标签: mysql string datetime csv str-to-date

我有一个csv文件我试图解析一堆字符串,其中一些是我数据库中的日期格式。代码看起来有点像这样:

load data infile '/temp/db.csv'
into table db.dbtable
fields terminated by '|'
lines terminated by '\n'
ignore 1 rows

(db_id,
dbtable_field1,
db_date,
db_date2)

set
db_date = convert(char(10), Datetime),
db_date2 = convert(char(10), Datetime);

每次执行此操作都会出现此错误:

Error Code: 1292. Incorrect datetime value: '<date time>' for column 'db_date' at row 1

我一直在使用stackoverflow和其他方法尝试让它工作,但似乎没有任何工作。我错过了一些重要的东西吗?

- 编辑 -

csv文件看起来像这样:

db_id|dbtable_field1|db_date|db_date2
123|0025AAA|8/12/2014 10:24:32 AM| 8/12/2014 10:24:32 AM
124|0096AB54|2/26/2013|2/26/2013
125|0085ABDE|10/2/2014 4:56:00 PM|10/2/2014 4:56:00 PM

这个块并不完全是我的csv文件,但它的格式相同。如您所见,日期格式发生变化,因此我无法使用预定义的日期格式。目前我只是将其解析为varchar(25)以便简单地将其解析到数据库中,但是将其解析为日期以便进一步工作将在以后有用(即日期比较测试)。

我已经用多种方式完成了这项工作,包括:

db_date = str_to_date(@db_date, '%c/%d/%Y %h:%i:%s %p');

db_date = convert(char(10), getDate(), 125);

由于日期格式不一致,两者都没有奏效。

0 个答案:

没有答案