我在mysql表中有一列名为"dtm“。
其中的数据类似于"20200525/0704Z“
它有祖鲁格式的日期和时间。
当前,列类型为varchar 255。
如何将它转换为像datetime这样更有用的列类型?
当我试图更改列类型时,我会得到“太大的精度错误最大值为6”。
谢谢
发布于 2020-05-29 19:22:49
这是@Calvin-Tan的回答的增编,因为这在评论部分是不合适的。
可以在MySQL中直接从旧列填充新列,查询如下:
UPDATE table SET new_date = CONCAT(
SUBSTR(old_date, 1, 4),
'-',
SUBSTR(old_date, 5, 2),
'-',
SUBSTR(old_date, 7, 2),
' ',
SUBSTR(old_date, 10, 2),
':',
SUBSTR(old_date, 12, 2),
':00'
);它将将字符串重新格式化为2020-05-25 07:04:00。
还请记住,MySQL日期/时间类型没有时区的概念。
发布于 2020-05-29 19:06:53
最好是使用日期时间数据类型创建第二列。然后使用php转换旧的dtm格式并将其更新为其新的datetime列,然后最后删除旧的dtm列。
https://stackoverflow.com/questions/62093029
复制相似问题