Re[6]: Временной промежуток
От: Pavel_Lechenko Россия http://www.sdpm.ru
Дата: 06.05.04 08:34
Оценка: 3 (1)
Здравствуйте, Dmitry Pyatkov, Вы писали:

DP>Здравствуйте, KGP, Вы писали:


KGP>>SELECT id_order FROM rorder WHERE (<начальная дата> BETWEEN begin_time AND end_time)

KGP>> or (<конечная дата> BETWEEN begin_time AND end_time)

DP>Да так оно так, да не так.

DP>В смысле временой промежуток может наченаться раньше проверяемого и кончаться позже.

Похоже, что вот так:

SELECT id_order 
FROM rorder 
WHERE <начальная дата> = begin_time OR <конечная дата> = end_time  OR 
    (<начальная дата> BETWEEN begin_time AND end_time) OR 
    (<конечная дата> BETWEEN begin_time AND end_time) OR 
    (begin_time BETWEEN <начальная дата> AND <конечная дата>) OR 
    (end_time BETWEEN <начальная дата> AND <конечная дата>)


Собственно у меня была вот такая задачка: узнать, какие комнаты заняты на определенный промежуток времени. Решалась она вот как (MSSQL):

select roomID 
from roomBookings 
where @df=dateFrom or @dt=dateTo or (@df between dateFrom and dateTo) or 
    (@dt between dateFrom and dateTo) or (dateFrom between @df and @dt) or 
    (dateTo between @df and @dt)


Я правильно понял условие?
... << RSDN@Home 1.1.0 stable >>
С уважением,
Леченко Павел

SDPM.RU — Сообщество Менеджеров Проектов Разработки Программного Обеспечения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.