我有一大组数据,其中的 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")
最佳答案
您不会一次完成所有操作。您一步一步地执行这些步骤。
- 添加新列。
- 从旧列更新新列。这可能需要多次查询,具体取决于您的 varchar 列中有多少种格式。
- 放弃你的旧专栏。
- 重命名您的新列。
关于mysql - 如何将 MySQL 列从 VARCHAR 更改为日期时间并同时转换数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19875348/