0

我有一大组数据,其中包含一个不寻常的日期时间格式的 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")
4

2 回答 2

4

你不会一下子做完所有事情。你一步一步地采取这些步骤。

  1. 添加新列。
  2. 从旧列更新新列。这可能需要多个查询,具体取决于您的 varchar 列中有多少格式。
  3. 放下你的旧专栏。
  4. 重命名新列。
于 2013-11-09T13:18:15.827 回答
1
UPDATE `table`
SET `column` = STR_TO_DATE(`column`,'%Y-%m-%d')

根据您的需要调整格式。

于 2013-11-09T11:27:26.823 回答