首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将varchar列更改为日期时间?

问将varchar列更改为日期时间?
EN

Stack Overflow用户
提问于 2020-05-29 19:02:51
回答 2查看 51关注 0票数 0

我在mysql表中有一列名为"dtm“。

其中的数据类似于"20200525/0704Z“

它有祖鲁格式的日期和时间。

当前,列类型为varchar 255。

如何将它转换为像datetime这样更有用的列类型?

当我试图更改列类型时,我会得到“太大的精度错误最大值为6”。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-29 19:22:49

这是@Calvin-Tan的回答的增编,因为这在评论部分是不合适的。

可以在MySQL中直接从旧列填充新列,查询如下:

代码语言:javascript
复制
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日期/时间类型没有时区的概念。

票数 1
EN

Stack Overflow用户

发布于 2020-05-29 19:06:53

最好是使用日期时间数据类型创建第二列。然后使用php转换旧的dtm格式并将其更新为其新的datetime列,然后最后删除旧的dtm列。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62093029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档