Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

Выбор всех значений, которые принадлежат интервалу времени   Найти похожие ветки 

 
DelphiN! ©   (2006-02-02 09:59) [0]

Есть таблица, с полями
|Вряемя начала|  |Время окончания|
1)  01.01.06 10:30      01.01.06 10.40
2)  01.01.06 10:00      01.01.06 11:40
3)  01.01.06 12:00      01.01.06 22:00

Как выбрать записи, которые входят в промежуток от 01.01.06 10:00 до  01,01,06 10:50, тоесть записи 1,2

Чегото я сам сообразить не могу ...


 
Fay ©   (2006-02-02 10:03) [1]

> тоесть записи 1,2
Т.е. записи, для которых выполняется
 where [Вряемя начала] between "01.01.06 10:00" and "01.01.06 10:50"

Так что ли?


 
ЮЮ ©   (2006-02-02 10:14) [2]

2)  01.01.06 10:00      01.01.06 11:40
не "входит в промежуток", а пересекает его

входит ли в промежуток
4)  01.01.06 09:30      01.01.06 10:10 ?
4)  01.01.06 09:30      01.01.06 11:00 ?

Если да, то

 NOT ( ([Время окончания]  < :From)  OR  ([Вряемя начала]  > :To) )
что эквивалентно
   ([Время окончания]  >= :From)  AND  ([Вряемя начала]  <= :To) )

где :From и :To - заданный период


 
Fay ©   (2006-02-02 10:17) [3]

2 ЮЮ ©   (02.02.06 10:14) [2]
Пересекает, это когда хотя бы одна из дат лежит в заданном диапазоне


 
Sergey13 ©   (2006-02-02 10:22) [4]

where (:From between [Вряемя начала] and |Время окончания|)
OR (:To between [Вряемя начала] and |Время окончания|)
OR ((:From<[Вряемя начала]) and (:To>[Вряемя окончания]))


 
Val ©   (2006-02-02 10:24) [5]

>[1] Fay ©   (02.02.06 10:03)
к этому, наверное, нужно еще и третье условие, что
"Время начала" <= "Времени окончания"


 
Fay ©   (2006-02-02 10:28) [6]

2 Val ©   (02.02.06 10:24) [5]
Ага, а ещё типы данных должны быть совместимыми 8)


 
Fay ©   (2006-02-02 10:31) [7]

2 Sergey13 ©   (02.02.06 10:22) [4]
Я бы сказал
where
 ([Вряемя начала] between :From and :To)
 or ([Время окончания] between :From and :To)


 
Val ©   (2006-02-02 10:37) [8]

>[6] Fay ©   (02.02.06 10:28)
ээ..:) я имел ввиду не поля таблицы, а задаваемые параметры :)


 
Fay ©   (2006-02-02 10:42) [9]

2 Val ©   (02.02.06 10:37) [8]
> я имел ввиду не поля таблицы, а задаваемые параметры :)
А в этом как раз нет никакой необходимости, мы считаем разработчика человеком психически здоровым. 8)


 
ЮЮ ©   (2006-02-02 10:45) [10]


> Fay ©   (02.02.06 10:17) [3]



> Пересекает, это когда хотя бы одна из дат лежит в заданном
> диапазоне


А где лежит вторая - не важно. У автора во второй записи |Время окончания| лежит далеко за пределами заданного интнрвала, но она его интересует, хотя он называет такое положение вещей  "входят в промежуток"


 
Nikolay M. ©   (2006-02-02 10:58) [11]


> 2)  01.01.06 10:00      01.01.06 11:40
>
> Как выбрать записи, которые входят в промежуток от 01.01.
> 06 10:00 до  01,01,06 10:50, тоесть записи 1,2


Вторая "запись" не входит в этот промежуток. Хотелось бы заслушать от докладчика, что он подразумевает под "вхождением" интервалов.


 
Val ©   (2006-02-02 10:59) [12]

[7] Fay ©   (02.02.06 10:31)
а почему or, а не and? ведь автор хочет, чтобы обе даты входили в заданный промежуток.


 
Fay ©   (2006-02-02 11:02) [13]

2 ЮЮ ©   (02.02.06 10:45) [10]
См. [1]

2 Val ©   (02.02.06 10:59) [12]
> а почему or, а не and? ведь автор хочет, чтобы обе даты входили в заданный промежуток.
Из чего это следует?


 
Val ©   (2006-02-02 11:16) [14]

ок. ждем поправок автора.


 
DelphiN! ©   (2006-02-02 11:17) [15]

Извеняюсь за не точность, я хочу чтобы интервал не входил в промежуток полнойстю, а хотябы касался его, 1-я запись входит в промежуток полнойстю, а вторая входит в промежуток лишь частично, поэтому она и попала под условие, 3-я же запись никак не касается промежутка, потому под условие она не подошла.


 
ЮЮ ©   (2006-02-02 11:18) [16]


> Fay ©   (02.02.06 11:02) [13]
> См. [1]

Так в [1] твои предположения.

Пока автор не скажет, нужны ли ему записи,
A) со временем окончания в интервале, а со временем начала - раньше начала интервала
Б)  со временем начала - раньше начала интервала, и со времением окончания - позже конца  интервала

точное услови написать невозможно.


 
Плохиш ©   (2006-02-02 11:20) [17]


> DelphiN! ©   (02.02.06 11:17) [15]

(<Вряемя начала> <= :TO) and (<Время окончания> >= :FROM)


 
DelphiN! ©   (2006-02-02 11:26) [18]


>  [17] Плохиш ©   (02.02.06 11:20)


Действительно, вроде так. У меня голова просто раскалывается, температура, и сам сообразить просто не могу :(


 
ЮЮ ©   (2006-02-02 11:26) [19]


> Плохиш ©   (02.02.06 11:20) [17]


Уже было в [2]. Требуются оригинальные версии :)


 
DelphiN! ©   (2006-02-02 11:32) [20]


>  [19] ЮЮ ©   (02.02.06 11:26)


И вам спасибо, на обед сходил а тут уже столько написали за это время, вот и заметил последнего :)



Страницы: 1 вся ветка

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.082 c
3-1138877901
Alex_1234
2006-02-02 13:58
2006.03.26
Группировка по временным интервалам...


4-1136303742
Medved
2006-01-03 18:55
2006.03.26
Имитация нажатия клавиш keybd_event().


15-1141491463
Yegorchic
2006-03-04 19:57
2006.03.26
PHP и .gif


10-1115368225
Владислав
2005-05-06 12:30
2006.03.26
Маршаллинг интерфейса.


4-1136740034
Microsom
2006-01-08 20:07
2006.03.26
Delphi &amp; ADSI (ActiveDirectory)