gpt4 book ai didi

mySQL 下类时间记录

转载 作者:行者123 更新时间:2023-11-29 10:01:04 25 4
gpt4 key购买 nike

我的系统需要根据工作时间或非工作时间响应客户;

  • 上午 8:01 至晚上 8:00(营业时间)
  • 晚上 8:01 至上午 8:00(非工作时间)

我创建了下表;

CREATE TABLE responses (
response_id int(11) unsigned NOT NULL AUTO_INCREMENT,
start_at time DEFAULT NULL,
end_at time DEFAULT NULL,
PRIMARY KEY (response_id)
);

营业时间查询工作正常;

从响应中选择 * WHERE CURTIME() BETWEEN start_at AND end_at;

非营业时间:通知开始时间为晚上 8:01,上午 8:00 为结束时间。在这种情况下,开始时间比结束时间短,但同时,它也会改变日期。

在这种情况下,编写 mySQL SELECT 查询的最佳方法是什么?

最佳答案

使用 NOW() 和 dateTime 字段而不是 CURTIME() 和 Time 字段。

现在你正在比较这样的东西:

WHERE '22:00:00' BETWEEN '20:00:01' AND '8:00:01'; // returns FALSE

但是当您跨天使用 dateTime 时,它​​会执行以下操作:

WHERE '2018-10-23 22:00:00'  BETWEEN '2018-10-23 20:00:01' AND '2018-10-24 8:00:01' // returns TRUE

关于mySQL 下类时间记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52957202/

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