从csv导出到mysql时,datetime列不匹配

时间:2014-05-20 12:25:26

标签: mysql csv

我是c#的新手,并尝试将csv文件导出到mysql表格,在那里我得到了格式错误的日期时间列。

my csv file is datetime is : 21/03/2014 14:49:06.
mysql datetime column is : 2014-03-21 14:49:06.
MySql datetiem after exporting :0000:00:00:00 

我的代码是:。

string strLoadData = "LOAD DATA LOCAL INFILE 'E:/finalcode.csv' INTO TABLE turnover FIELDS terminated by ',' ENCLOSED BY '\"' lines terminated by '\n' IGNORE 1 LINES (SiteId,DateTime,Serial,DeviceId) SET DateTime = STR_To_DATE(DateTime,'%yyyy-%MM-%dd %H:%i:%s')";

2 个答案:

答案 0 :(得分:0)

您对datetime列的输入是

  

21/03/2014 14:49:06

格式为'%d/%m/%Y %H:%i:%s'。你必须让MySQL引擎明白它是那种格式。因此MySQL使用适当的datetime format string将输入日期值转换为可接受的格式。

更改

SET DateTime = STR_To_DATE( DateTime,'%yyyy-%MM-%dd %H:%i:%s' )

SET DateTime = STR_To_DATE( DateTime,'%d/%m/%Y %H:%i:%s' )

答案 1 :(得分:0)

您可以使用以下语法:

LOAD DATA LOCAL  INFILE 'E:/finalcode.csv' INTO TABLE turnover  FIELDS  TERMINATED BY ',' ENCLOSED BY '\"'  LINES TERMINATED BY '\n' IGNORE 1 LINES (`SiteId`,@val,`Serial`,`DeviceId`) SET `DateTime` = STR_TO_DATE(@val,'%d/%m/%Y %H:%i:%s');