SQL 中的非包容性 BETWEEN

Noninclusive BETWEEN in SQL

我正在尝试从类似于此的 SQL 数据库中获取所有冲突的时间表:

SELECT * FROM schedule WHERE x BETWEEN startTime AND endTime

其中 x 是时间戳中给定的任何时间。

问题在于,如果我说了从 1:00 PM 到 2:00 PM 的时间表,然后我尝试使用 x = 2:00 PM 和 startTime = 2:00 PM 我从语句执行中得到 return。

是否有允许非包容性 BETWEEN 调用的标志或类似内容?

BETWEEN..AND.. 基本上是 >=<= 运算符组合的语法糖,具有相同的性能。

If expr is greater than or equal to min and expr is less than or equal to max, BETWEEN returns 1, otherwise it returns 0. This is equivalent to the expression (min <= expr AND expr <= max)

对于非包含范围检查,您可以使用 > AND < 运算符:

SELECT * FROM schedule 
WHERE x > startTime AND 
      x < endTime