一尘不染

如何在不丢失日期的情况下将varchar列类型转换为日期类型

mysql

我正在寻找一种更改列的数据类型的方法。当前,在我的数据库中,日期列类型定义为varchar,我需要将它们转换回日期类型。

知道怎么做吗?


阅读 219

收藏
2020-05-17

共1个答案

一尘不染

您将需要根据您的确切表结构来调整它,但是类似的东西;

CREATE TABLE temp (startdate varchar(255), stuff varchar(255));

INSERT INTO temp
SELECT startdate,stuff
FROM mytable;

TRUNCATE TABLE mytable;

ALTER TABLE mytable ALTER COLUMN startdate DATETIME NOT NULL;

INSERT INTO mytable
SELECT CAST(startdate AS DATETIME), stuff FROM temp;

DROP TABLE temp;
2020-05-17