mysql - SQL 中的非包含 BETWEEN
问题描述
我正在尝试从类似于此的 SQL 数据库中获取所有冲突的时间表:
SELECT * FROM schedule WHERE x BETWEEN startTime AND endTime
其中 x 是时间戳中给定的任何时间。
问题在于,如果我说从下午 1:00 到下午 2:00 的时间表,然后我尝试使用 x = 2:00 PM 和 startTime = 2:00 PM,我会从我的语句执行中得到回报.
是否有允许不包含 BETWEEN 调用的标志或类似的东西?
解决方案
BETWEEN..AND..
基本上是>=
AND<=
运算符组合的语法糖,具有相同的性能。
如果 expr 大于或等于 min 且 expr 小于或等于 max,则 BETWEEN 返回 1,否则返回 0。这相当于表达式 (min <= expr AND expr <= max)
对于非包含范围检查,您可以使用>
AND<
运算符:
SELECT * FROM schedule
WHERE x > startTime AND
x < endTime
推荐阅读
- sql - 带有 <> 的 strftime() 没有给出正确的结果
- java - OpenCsv CsvToBeanBuilder 不构建 bean
- html - 如何在html网站中添加透明图片(logo);我试过了,但是网站上出现了白色背景,如何解决?
- ios - CNContactView 控制器的取消按钮在键入时消失然后重新出现
- csv - 如何在 Octave 中创建带有标题和不同变量的文件?
- amazon-web-services - 在 S3 上传 + 进程文件上启动 EC2 实例
- azure - 当包含编码哈希时,Azure API 管理不匹配传入请求 url 到 uri 模板
- c++ - 64 位和 32 位架构之间的 atan2 结果不一致
- java - 无法让我的嵌套循环在我的游戏中工作
- java - Spring MongoTemplate 对于来自 MongoDB 的 50000 条记录非常慢