gpt4 book ai didi

java - MYSQL 在 TimeRange 中使用 TIME Between

转载 作者:行者123 更新时间:2023-11-29 11:58:41 26 4
gpt4 key购买 nike

我面临着一个与 MySQL 时间相关的奇怪问题,我根本无法解决。

Table:landing
landingPage (varchar) - mylanding.html
starttime (time): 18:00:00
endTime (time) : 04:00:00

要求在 18:00:00 到 04:00:00(下午 6 点到凌晨 4 点)之间显示登陆页面。我正在使用以下查询

select landingPage from landing where currentTime between starttime and endtime. 

上述查询的工作时间为 18:00:00 到 23:59:59。但午夜过后,它不会显示任何值。举个例子

select landingPage from landing where '02:00:00' between starttime and endtime. 

我什至尝试过以下查询,但午夜后出现同样的问题。

select landingPage from landing where currentTime>starttime AND currentTime<endtime

这是一个 Java 应用程序,我应该在此处使用 AM/PM 逻辑吗?

最佳答案

问题来自这样一个事实:午夜过后,时间会回到 00:00:00,因此间隔 [18:00:00, 04:00:00] 为空:不考虑天数时,同一天任何小时都不能大于 18h 且小于 4h

您可以实现以下逻辑:显示登陆页面

  • 如果时间小于 04:00:00:这意味着该时间在午夜和 04:00:00 之间;
  • 或者如果时间大于 18:00:00:这意味着该时间在 18:00:00 和午夜之间。

查询变为:

select landingPage from landing where currentTime < endTime OR currentTime > startTime

关于java - MYSQL 在 TimeRange 中使用 TIME Between,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756022/

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