【发布时间】:2019-03-03 02:21:09
【问题描述】:
我将一个 CSV 文件导入 MySQL。 CSV 文件包含格式为'mm/dd/yyyy hh:mm' 的日期/时间。
它仅作为文本导入 MySQL。所以我确实将它作为文本导入。然后我创建了另一个字段,希望将此文本值转换为'mm-dd-yyyy hh:mm' 或'YYYY-mm-dd hh:mm' 格式的日期时间。但它不起作用。下面是我的代码。
ALTER TABLE table1 ADD COLUMN StartDateNEW DATETIME;
SET SQL_SAFE_UPDATES = 0;
UPDATE table1 SET StartDateNEW = STR_TO_DATE(StartDate, '%m/%e/Y %H:%i');
SET SQL_SAFE_UPDATES = 1;
样本数据:
更多示例数据:
我已经尝试了一个多小时了。有人可以帮忙吗?
【问题讨论】:
-
你可能想要
'%m/%d/Y %H:%i'(%d,而不是%e) -
它也不适用于 %d。我使用 %e 是因为 %e 日期作为数值(0 到 31)和 %d 日期作为数值(01 到 31)。无论哪种方式,它都行不通。我都试过了。
-
您是否使用
LOAD DATA INFILE语法加载数据? -
没有。这是我在使用 %c/%e/%Y %k:%I 时遇到的错误。
-
错误代码:1411。日期时间值不正确:函数 str_to_date 0.000 秒的“3/31/2012 23:54”
标签: mysql sql date datetime sql-update