Задать вопрос
ayurganov
@ayurganov

[SQL] Проверить, лежит ли один диапазон дат в другом

Добрый день.
Помогите, пожалуйста, составить SQL-запрос.

Есть две даты.
Нужно проверить, что интервал между этими данными не попадает в интервал дат в таблице БД. А также, что интервал дат в таблице не попадает в интервал между данными датами.
  • Вопрос задан
  • 18692 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
@xdenser
ну так
select * from table t
where 
not
(
{$fromDate} between t.date1 and t.date2
or
{$toDate} between t.date1 and t.date2
)
</sql>
Ответ написан
XuMiX
@XuMiX
declare date1 datetime;
declare date2 datetime;
set @date1 = '2010-12-03';
set @date2 = '2010-12-07';

select * from table t where t.date not between @date1 and date2;
Ответ написан
@collapse
`start` < #end AND `reservation`.`end` > #start
Где #start и #end соответственно ваш диапазон
Ответ написан
apangin
@apangin
SELECT * FROM dates d WHERE NOT (
  (my_from < d.date_from AND my_to < d.date_from)
  OR
  (my_from > d.date_to AND my_to > d.date_to)
)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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