【发布时间】:2020-03-17 13:43:02
【问题描述】:
我有一个包含 20,000,000 行的表,其中“时间”列保存为字符串 (type=TEXT),并包含 3 种不同形式的值:
- 空
- 日期时间:2020-01-01 15:23:45
- ISO 日期:2020-01-01T15:23:45.000Z
MySQL 有没有办法将所有 ISO 日期转换为正确的 DateTime 格式?当我尝试将它们强制转换为“日期时间”时,查询失败。当我尝试更改表时,查询失败。 当我尝试更改表时,我得到:
不正确的日期时间值:'2020-02-13T08:10:02.000Z' 用于第 668290 行的列“时间”
我知道我可以将数据库中的所有行查询为其他语言,在那里进行转换,然后逐行更新,我只是想确保没有一种简单的方法可以直接在SQL。
【问题讨论】:
-
.000Z在所有(这些)行中始终保持一致吗? -
@Martin 是的,是一致的