Неинклюзивные МЕЖДУ в SQL - PullRequest
       13

Неинклюзивные МЕЖДУ в SQL

0 голосов
/ 02 декабря 2018

Я пытаюсь получить все конфликтующие расписания из базы данных SQL, подобной этой:

SELECT * FROM schedule WHERE x BETWEEN startTime AND endTime

Где x - любое время, указанное в метке времени.

Проблема заключается вс тем фактом, что, если у меня есть расписание с 13:00 до 14:00, а затем я пытаюсь использовать x = 14:00 и startTime = 14:00, я получаю возврат от выполнения моего оператора.

Есть ли флаг или что-то подобное, что позволяет не включительно между вызовами?

1 Ответ

0 голосов
/ 02 декабря 2018

BETWEEN..AND.. - это, в основном, синтаксический сахар для комбинации операторов >= И <= с одинаковой производительностью.

Если expr больше или равно minи expr меньше или равно max, BETWEEN возвращает 1, в противном случае возвращает 0. Это эквивалентно выражению (min <= expr AND expr <= max) </p>

Для не включенного диапазонапроверяя, вы можете использовать > И < операторы:

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