我是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')";
答案 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');