another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как сформулировать запрос к БД для выборки по диапазону дат?

Имеется таблица `apartment_dates` следующего вида:
| id | date_from  | date_to    |
|----|------------|------------|
| 1  | 2017-07-01 | 2017-07-10 |
| 2  | 2017-07-11 | 2017-07-20 | 
| 3  | 2017-07-21 | 2017-07-30 |

Необходимо произвести выборку записей, удовлетворяющих условию, которое пересекает несколько записей:
с 2017-07-05 -- по 2017-07-15.
Сломал голову, ни одной идеи как описать такой запрос.
Спасибо.
  • Вопрос задан
  • 408 просмотров
Решения вопроса 1
@gill-sama
Что значит пересекает? полное вхождение или частичное?
select * from apartment_dates where date_from beetwen '2017-07-05'::date and ' 2017-07-15'::date or date_to '2017-07-05'::date and ' 2017-07-15'::date -- частичное
select * from apartment_dates where date_from beetwen '2017-07-05'::date and ' 2017-07-15'::date and date_to '2017-07-05'::date and ' 2017-07-15'::date --полное
С - включтельно
ПО - исключтельно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы