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

SUN*_*SUN 6 mysql mysql-workbench

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

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

我收到错误代码 1292。

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

在此输入图像描述

100*_*111 4

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

借助STR_TO_DATE()DATE_FORMAT()函数,您可以将这些日期字符串转换为上述所需的格式。

现在您可以安全地将数据类型更改/修改为时间戳/日期时间。

这是一个演示:

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');
Run Code Online (Sandbox Code Playgroud)

更改数据类型:

ALTER TABLE yourtable MODIFY COLUMN start datetime;
Run Code Online (Sandbox Code Playgroud)