mysql - MySQL 根据时间范围选择
问题描述
我有一个插槽数据库,其中包含开始时间和结束时间( Date 也是,但那是 by )。因此,数据库中预订插槽的一些示例结果将是:
----------------------------------
start_time - end_time -
----------------------------------
09:00 15:00
17:00 18:00
19:00 21:00
----------------------------------
因此,可以说我想检查以下时间是否可用:
09:00 - 10:00 - ( This is Unavailable in the results above )
18:00 - 19:00 - ( Available based on the results above )
处理这个问题的 MySQL 查询是什么?
解决方案
SELECT *,
NOT EXISTS ( SELECT NULL
FROM timeslot
WHERE timeslot.time_start < timerange.time_end
AND timerange.time_start < timeslot.time_end ) is_available
FROM timerange
推荐阅读
- php - 双引号保存为“e;在mysql中使用php pdo保存时
- google-bigquery - 在 Google BigQuery 中将十六进制转换为二进制
- ios - NSFetchedResultsController - 不调用委托函数
- c# - 有没有办法将第一个字母移到结尾?
- excel - SUMPRODUCT 具有多个条件,同时忽略空白输入
- angular - angular 6 应用程序和路由到下一页显示当前页面的底部
- python - Pyenv本地配置问题
- c# - .Net.Mail 不使用交换 SMTP 引发异常
- angular - 具有 Angular 7 多语言支持的 asp.net 核心 web api
- typescript - 键入类属性的 keyof