我的系统需要根据营业时间或非营业时间对客户作出响应;
上午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)
);
营业时间查询工作精细化; SELECT * FROM responses WHERE CURTIME() BETWEEN start_at AND end_at;
下班时间:请注意,开始时间是晚上8:01,而上午8:00是结束时间。在这种情况下,开始时间小于结束时间,但同时,它也会改变一天。
在这个场景中,编写mysql select查询的最佳方法是什么?
1条答案
按热度按时间11dmarpk1#
使用now()和datetime字段,而不是curtime()和time字段。
现在你在比较这样的东西:
但是,当您跨天使用datetime时,它会执行以下操作: