我有一个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);
由于日期格式不一致,两者都没有奏效。