首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在datetime MySQL中更新空时间

如何在datetime MySQL中更新空时间
EN

Stack Overflow用户
提问于 2020-01-07 13:15:54
回答 1查看 147关注 0票数 0

我们将日期时间存储在MySQL数据库的一个列中,该列以文本格式,但是当我们的日期时间应该如下所示时:

‘’xxxx xx-xx 00:00:00‘

该时间将被删除或不显示在我们的日期时间上,因此,在该特定时间,我们的日期时间只包含日期:

‘’xxxx xx-xx‘

我们想要的是首先找出发生这种情况的原因,但现在我们需要编辑每一行,并确保日期时间也显示时间。通过使用以下查询,我们试图更改受影响的行:

代码语言:javascript
复制
UPDATE table SET TIME(col_datetime) = '00:00:00' WHERE LENGTH(TIME(col_datetime)) = 0;

上面的查询应该更新col_datetime的datetime上的时间,其中时间长度为0。不幸的是,我们收到了一个错误,我们无法运行查询。这是一个错误:

您的SQL语法出现了错误;请检查与MySQL服务器版本相对应的手册,以获得正确的语法,以便在第2行使用near '(time_start) =‘00:00:00:00’,其中长度(时间(Time_start))= 0‘

在没有显示时间的情况下,我们如何改变日期时间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-07 13:22:55

不要将日期存储为字符串。相反,您希望使用datetime数据类型:它有一个时间部分,在未指定时默认为00:00:00

以下是一个用于此目的的小转换脚本:

代码语言:javascript
复制
alter table mytable add col_datetime_new datetime;
update mytable set col_datetime_new = col_datetime;
alter table mytable drop col_datetime;
alter table mytable change column col_datetime_new col_datetime datetime;

这利用了这样一个事实,即您在字符串日期中使用的是格式YYYY-MM-DD,因此向datetime的转换似乎是无足轻重的。

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

https://stackoverflow.com/questions/59629190

复制
相关文章

相似问题

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