gpt4 book ai didi

mysql - 限制mysql中的TIME数据类型仅保留到24 :00:00 hrs

转载 作者:行者123 更新时间:2023-11-29 15:32:05 25 4
gpt4 key购买 nike

实际上我使用的是MySql 5.6.4版本。但问题是MySQL以“hh:mm:ss”格式(或“hhh:mm:ss”格式)检索并显示TIME值对于较大的小时值)。

TIME 值的范围可能是“-838:59:59”到“838:59:59”。小时部分可能如此之大,因为 TIME 类型不仅可以用来表示一天中的某个时间(必须小于 24 小时),还可以用来表示耗时或两个事件之间的时间间隔(可能远大于 24 小时,甚至是负值)。

我想限制 mysql 5.6.4 版本中的 TIME 数据类型仅保留到 24:00:00 小时,因此如果将插入大于 24:00:00 的时间,那么它将显示错误消息。

我为此在谷歌上搜索了很多,但我没有找到任何东西,尽管我有点困惑......我只是想知道我该怎么做?

Insert into exp1.mock_table (reviewTime, created_dt) VALUES ('37:00:00', NOW());

Insert into exp1.mock_table (reviewTime, created_dt) VALUES ('22:01:53', NOW());

alter table exp1.mock_table modify reviewTime time(0) , add check (extract(hour from reviewTime) between 0 and 24);

最佳答案

如果您使用 MySQL 8+,那么您可以在定义表时使用检查约束来处理此问题:

CREATE TABLE mock_table (
reviewTime time CHECK (HOUR(time) < 24)
created_dt datetime
);

从技术上讲,24 小时制不支持 24:00:00,因为 23:59:59 自动回绕到 00:00:00第二天的

关于mysql - 限制mysql中的TIME数据类型仅保留到24 :00:00 hrs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58641725/

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