【问题标题】:How to convert csv date format to into mysql db如何将csv日期格式转换为mysql db
【发布时间】:2011-08-02 18:08:47
【问题描述】:

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

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

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

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

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

2010-02-09 07:32:00

正确的做法是什么?

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

【问题讨论】:

    标签: mysql date csv


    【解决方案1】:

    使用STR_TO_DATE() 函数。

    示例

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

    【讨论】:

    • this 怎么样?请问有什么帮助吗?谢谢
    【解决方案2】:

    我遇到了同样的问题,经过一番研究,我就是这样解决的-

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-25
        • 2011-08-13
        • 2017-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 2011-10-11
        • 1970-01-01
        相关资源
        最近更新 更多