如何将CSV日期格式转换为MySQL数据库格式

4
在csv文件中,日期字段的格式如下:
2/9/2010 7:32
3/31/2011 21:20

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

我需要读取它并存储到mysql数据库中。

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

2010-02-09 07:32:00

正确的方法是什么?

仅使用mysql语法是否可以轻松处理转换?

3个回答

6

使用 STR_TO_DATE() 函数。

示例

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

这个怎么样?链接 有什么帮助吗?谢谢。 - Hendry Tanaka

4

我也遇到了同样的问题,在进行了一些研究之后,我解决了这个问题 -

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 - 是在设置语句中使用的虚拟变量,您可以将其设置为任何变量

0
我遇到过同样的问题(涉及 DATE),另一个解决方案是使用本地的 mysql 格式 YYYYMMDD,即 20120209。 虽然我没有尝试过使用 DATETIME,但我猜 YYYYMMDDhhmmss 也可以。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接