一尘不染

如何将MySQL列从VARCHAR更改为日期时间并同时转换数据?

sql

我有一个带有varchar列的大型数据集,其中包含不寻常的日期时间格式。

如何同时转换6000多个行中的数据,然后转换列的类型?

我可以看到可以用以下方式转换类型:

ALTER TABLE <tblName> MODIFY <columnName> date time;

但是我看不到如何保留数据并同时对所有行执行此操作。

我当前拥有的示例日期是:

Mon, 23 Sep 2013 07:01:00 GMT

根据@Mihai回答

UPDATE rns
SET rns.`rns_pub_date` = STR_TO_DATE(rns_pub_date,"%a, %d %b %Y")

阅读 126

收藏
2021-05-16

共1个答案

一尘不染

UPDATE `table`
SET `column` = STR_TO_DATE(`column`,'%Y-%m-%d')

根据您的需求调整格式。

2021-05-16