У меня есть таблица, и я хотел бы получить строки, которые будут соответствовать заданному условию c.
Скажем, у меня есть эта строка:
id start_date end_date
3 2020-04-02 NULL
И в моем пользовательском интерфейсе веб-приложения У меня есть этот календарь:
![enter image description here](https://i.stack.imgur.com/G66Ld.png)
Когда вы проверите поля таблицы, вы увидите start_date
и end_date
. end_date
может быть нулевым, означая, что у него нет конца.
Возвращаясь к таблице, я хочу получить строки, передавая startDates
и endDates
из пользовательского интерфейса. startDate
будет March 29
и endDate
будет May 9
в зависимости от календаря.
Вот мой текущий запрос:
SELECT * FROM slots WHERE start_date <= 2020-03-29 AND (end_date >= 2020-05-09 OR end_date IS NULL)
С кодом выше я не получаю никаких данных. Это очевидно, потому что start_date в таблице 2020-04-02
, и мой запрос проверяет предыдущую дату и равен startDate из пользовательского интерфейса.
Я также пытался (больше и равно):
SELECT * FROM slots WHERE start_date >= 2020-03-29 AND (end_date >= 2020-05-09 OR end_date IS NULL)
И пока я получаю строку, когда я нажимаю кнопку next
в календаре и переключаюсь на май 2020 года, я больше не получаю строку. Я должен получить его, потому что end_date
равно нулю.
Как мне получить строку с id 3
даже при смене месяцев в пользовательском интерфейсе?