在我将一个大型csv导入表格后,我遇到了一个主要问题: csv中日期的格式是DD MM YYYY,当我尝试将其导入日期/日期时,它将无法正常工作。好吧,我用CHAR类型而不是DATE / DATETIME来做它,它到目前为止工作。 (我的例子:VisitTime CHAR(10))
但这是问题,CHAR中的数据我无法连接从2列创建一个datetime列(我的例子是:VisitTime CHAR(10)应该是DATE但是没有工作,因为它是错误的格式DD MM YYYY和HourTime是TIME。 底线:我需要另一个表VisitTimeandHour DATETIME中的列,该列来自于VisitTIME CHAR(10)和HourTime TIME的串联。 一个解决方案可能是我所谈论的VARCHAR的所有列,这是我认为没有问题,但我想坚持日期和日期时间:) 等待解决方案,提前谢谢。
如果我错了,请纠正我,但如果我尝试导入变量然后转换它就可以了吗?顺便说一下,需要从csv转换的日期示例是:22/04/2005 )代码:
SET @ var1 = NULL; 加载数据infile'xxxx / xxx / xxx / xxx / xxx' 进入表vizite_intermtest 字符集utf8 字段以','结尾 以'\ n'结尾的行 忽略1行 (@ VAR1,OraIntrare,NumePacient,PrenumePacient,NumeMedic,PrenumeMedic,内阁) SET VisitTime = STR_TO_DATE(@ var1,'%d /%m /%y');
如果我试试这个,它说:截断的inccorect值22/04/2005(我想要导入的VisitTime列是CHAR类型)
LE:它可以导入变量并转换它但是我把/ / /放在它们之间它仍然给我时间格式 - - - ...任何想法?
答案 0 :(得分:1)
您应该坚持使用DATE / DATETIME字段,但要告诉MySQL如何解释传入的数据。我不确定您是如何导入数据的,但将字符串解释为日期的函数是STR_TO_DATE
:
STR_TO_DATE( '01 02 2003', '%d %m %Y' )
有关详细信息,请参阅以下内容: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date