繁体   English   中英

如何将csv日期格式转换为mysql db

[英]How to convert csv date format to into mysql db

在csv文件中,日期字段采用以下格式:

2/9/2010 7:32
3/31/2011 21:20

我正在使用php + mysql进行开发。

我需要读取它并存储到mysql db中。

存储在mysql中的最终值应格式如下:

2010-02-09 07:32:00

它的正确方法是什么?

单独使用mysql语法可以轻松处理转换吗?

使用STR_TO_DATE()函数。

STR_TO_DATE('3/31/2011 21:20', '%c/%e/%Y %H:%i');

我面对同样的问题,经过一些研究,这就是我如何解决它 -

LOAD DATA LOCAL INFILE 'D:/dataupload.csv' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\\r\\n' (@d1,col2,col3,col4) SET col1 = date_format(str_to_date(@d1, **'%m/%d/%Y'**), **'%Y-%m-%d'**)

细节:

  1. '%m /%d /%Y' - 这是我的CSV文件中的日期格式
  2. '%Y-%m-%d' - 这是我希望在插入数据时转换我的CSV字段日期的mysql格式
  3. col1 - 是我的表的实际列(具有日期数据类型)
  4. @ d1 - 是在set语句中使用的虚拟变量,你可以把它带到任何变量

我有同样的问题(与DATE )和另一个解决方案,是使用本机mysql格式YYYYMMDD20120209 我没有尝试过DATETIME但我猜YYYYMMDDhhmmss会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM