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

时间:2011-04-11 03:29:51

标签: mysql date csv

在csv文件中,日期字段的格式为:

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

我使用php + mysql进行开发。

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

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

2010-02-09 07:32:00

它的正确方法是什么?

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

3 个答案:

答案 0 :(得分:6)

使用STR_TO_DATE()功能。

实施例

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

答案 1 :(得分:3)

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

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语句中使用的虚拟变量,你可以把它带到任何变量

答案 2 :(得分:0)

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