MySQL yyyy-mm-ddThh:mm:ss.sssZ到yyyy-mm-dd hh:mm:ss

时间:2016-12-08 15:01:19

标签: mysql mysql-workbench

我想上传包含yyyy-mm-ddThh:mm:ss.sssZ数据的csv文件。

当我在MySQL中设置DATETIME类型时,

  

我收到错误代码1292。

MySQL如何成功上传yyyy-mm-ddThh:mm:ss.sssZ类型?

enter image description here

1 个答案:

答案 0 :(得分:0)

首先,您需要将字符串日期转换为有效的日期时间格式(yyyy-mm-dd hh:mm:ss)。

借助STR_TO_DATE()DATE_FORMAT()功能,您可以将这些日期字符串转换为上述格式。

现在您可以安全地将数据类型更改/修改为timestamp / datetime。

以下是演示:

SQL FIDDLE DEMO

将字符串日期转换为有效的日期格式:

Create table yourtable(
   id INT primary key AUTO_INCREMENT,
   start varchar(50)
);

INSERT INTO yourtable(start) VALUES('1901-02-03T05:30:00.000Z');

UPDATE yourtable
SET start = DATE_FORMAT(STR_TO_DATE(start,'%Y-%m-%dT%H:%i:%s.000Z'),'%Y-%m-%d %H:%i:%s');

更改数据类型:

ALTER TABLE yourtable MODIFY COLUMN start datetime;