0

在我将大型 csv 导入表格后,我遇到了一个主要问题:csv 中日期的格式是 DD MM YYYY,当我尝试将其导入日期/日期时间时,它不起作用。好吧,我用 CHAR 类型而不是 DATE/DATETIME 完成了它,它到目前为止有效。(我的例子: VisitTime CHAR(10) )

但这里是问题所在,我无法连接 CHAR 内的数据以从 2 列创建日期时间列(我的示例是: VisitTime CHAR(10) 应该是 DATE 但由于格式错误而无法工作DD MM YYYY 和 HourTime 是 TIME。 底线:我需要另一个表 VisitTime 和 Hour DATETIME 中的一列,它是由 VisitTIME CHAR(10) 和 HourTime TIME 的串联产生的。一个解决方案可能是使我谈到的所有列 VARCHAR我认为没问题,但我想坚持使用日期和日期时间:) 等待解决方案,在此先感谢。

如果我错了,请纠正我,但如果我尝试导入一个变量然后转换它就可以了吗?顺便说一下,需要从 csv 转换的日期示例是:22/04/2005)代码:

设置@var1 = NULL;将文件 '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');

如果我尝试这个,它会说: truncated inccorect value 22/04/2005 (我想在其中导入的 VisitTime 列是 CHAR 类型)

LE:它可以导入一个变量并转换它,但尽管我把///放在它们之间,它仍然给了我时间格式- - - ...有什么想法吗?

4

1 回答 1

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

于 2012-05-29T13:04:52.720 回答