gpt4 book ai didi

mysql - 如何更新日期时间MySQL中的空时间

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:20 24 4
gpt4 key购买 nike

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

'xxxx-xx-xx 00:00:00'

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

'xxxx-xx-xx'

我们首先要弄清楚为什么会出现这种情况,但现在我们需要编辑每一行,并确保日期时间也显示时间。我们已尝试使用此查询更改受影响的行:

UPDATE table SET TIME(col_datetime) = '00:00:00' WHERE LENGTH(TIME(col_datetime)) = 0;

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

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(time_start) = '00:00:00' WHERE LENGTH(TIME(time_start)) = 0' at line 2

我们如何更改未显示时间的日期时间?

最佳答案

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

这是一个用于该目的的小转换脚本:

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 是无缝的。

关于mysql - 如何更新日期时间MySQL中的空时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com