MYSQL加载数据时间戳格式

时间:2015-08-18 21:18:19

标签: mysql

我正在尝试将数据加载到MySQL表中,并且所有时间戳(日期时间字段类型)都被加载为null。我尝试加载的示例值是"2002-04-26 19:31:15.200000000",我已将格式指定为'%Y-%c-%d %H:%i:%s.%f'(下面的语句)。

由于null正在加载,我假设我的格式不正确,导致加载null。我应该指定的正确格式是什么?

set DateAdded = STR_TO_DATE(@DateAdded,'%Y-%c-%d %H:%i:%s.%f')

完整的LOAD INFILE声明:

LOAD DATA INFILE 'CANDIDATES.txt' INTO TABLE dbo.CANDIDATE 
  FIELDS TERMINATED BY '|'
  ignore 1 lines 
  (ResumeKey,Address1,Address2,City,Candidate_Type,Candidate_Type_Changed_UserID,S‌​tate,Country,@DateAdded,@DateModified,Degree,Email,FirstName,GPA,GradYear,HomePho‌​ne,JobTitle,LastName,Locale,Major,MiddleName,OrgName,OtherPhone,SchoolName,Zip,Ac‌​tive_Flag,SecureCandidate_Flag,CandidateStackingField,CellPhone,Homepage,FaxNumbe‌​r,BRUID)
 set
   DateAdded = STR_TO_DATE(@DateAdded,'%Y-%c-%d %H:%i:%s.%f'),
   DateModified = STR_TO_DATE(@DateModified,'%Y-%c-%e %H:%i:%s.%f');

1 个答案:

答案 0 :(得分:0)

问题是正在加载的文件不是utf-8格式。 MySQL无法加载uff-16文件。

要在linux上转换文件,你可以这样做:iconv -f utf-16le -t utf-8(uff-15le格式的文件)> (新的uff-8文件的名称)

如果您需要查找文件的当前编码,可以使用file -ib filename。

转换后加载的文件没有问题。