mysql - MySQL查找打开时间和关闭时间之间的记录
问题描述
我们在一周中的特定日子有多家餐厅的营业和关闭时间。我们有通宵营业的餐厅。例如餐厅时间是(10:00 AM Monday - 05:00 AM Tuesday)
我正在尝试以下 SQL 查询。但记录返回计数为零。
数据库:
CREATE TABLE `restaurants_hours` (
`id` int(11) NOT NULL,
`shop_id` int(11) unsigned NOT NULL,
`day_of_week` varchar(255) NOT NULL,
`open_time` time NOT NULL,
`close_time` time NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `restaurants_hours` (`id`, `shop_id`, `day_of_week`, `open_time`, `close_time`)
VALUES
(1, 1, 'sunday', '10:00:00', '05:00:00'),
(2, 1, 'monday', '10:00:00', '05:00:00'),
(3, 1, 'tuesday', '10:00:00', '05:00:00'),
(4, 1, 'wednesday', '10:00:00', '05:00:00'),
(5, 1, 'thursday', '10:00:00', '05:00:00'),
(6, 1, 'friday', '10:00:00', '05:00:00'),
(7, 1, 'saturday', '10:00:00', '05:00:00');
询问
SELECT id, open_time, close_time, day_of_week FROM restaurants_hours WHERE
(((close_time > open_time) AND (FIND_IN_SET('thursday', day_of_week))
AND (open_time <= '12:40') AND (close_time >= '12:40') )
OR
((close_time <= open_time) AND (FIND_IN_SET('wednesday', day_of_week)) AND (close_time > '12:40')))
解决方案
推荐阅读
- kendo-ui - 剑道网格上的拖放按钮
- python - 如何使用 python 创建一个简单的访客标签
- html - 如何使用python格式化html表格
- sql - 交叉连接查询本身以匹配以查看它是否不是最后一条记录
- vue.js - 如何在 Vue.js 中获取事件信息?
- terraform - Terraform 创建用户帐户并通过电子邮件发送密码
- javascript - 移动网站:有没有办法限制文件上传应用程序的选择?
- powerbi - 计算 Power BI 模型中没有明确关系的 2 个表之间的月值
- service-worker - 如何在页面刷新后更新服务工作者时提供页面重新加载?
- css - VUEJS:是否可以在显示之前处理/修改通过 v-for 检索到的数据?