gpt4 book ai didi

mysql - 如何在mysql中查看时间比较

转载 作者:行者123 更新时间:2023-11-29 20:24:52 25 4
gpt4 key购买 nike

我想检查当前时间是否在给定的两个时间之间,使用如下所示的 mysql 查询,

id start_time end_time
1 08:00 PM 08:00 AM

select *,if((serverTime >= startTime and serverTime <= endTime),'MetTheTime','DintMetTheTime') as Status from( select STR_TO_DATE(concat(SUBSTRING_INDEX(start_time, ' ', 1),':00 ',SUBSTRING_INDEX(start_time, ' ', -1)),'%l:%i:%S %p') as startTime,STR_TO_DATE(concat(SUBSTRING_INDEX(end_time, ' ', 1),':00 ',SUBSTRING_INDEX(end_time, ' ', -1)),'%l:%i:%S %p') as endTime,time(now()) as serverTime from( select start_time,end_time from table where id=1) a) b;

当我执行查询输出时:

startTime  endTime   serverTime  Status
20:00:00 08:00:00 03:47:57 DintMetTheTime

但预期输出是:

startTime  endTime   serverTime  Status
20:00:00 08:00:00 03:47:57 MetTheTime

我哪里做错了?

基于回复帖子。我输入了 Time

select *,if((serverTime >= startTime and serverTime <= endTime),'MetTheTime','DintMetTheTime') as Status  from( select start_time as startTime, end_time as endTime,time(now()) as serverTime from( select start_time,end_time from table  where id=1) a) b;

但是这个条件仍然不起作用吗?

最佳答案

看来您没有足够的逻辑来解释隔夜。在您的示例中 serverTime >= startTime,您可以看到 '03:47:57' >= '20:00:00' 是 false,而不是 true。

您需要制定一些特殊用途的逻辑,以便在结束时间值小于开始时间值的情况下使用;表示隔夜时间间隔。

关于mysql - 如何在mysql中查看时间比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39347364/

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