Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.067 c
1-1140945024
nap<>
2006-02-26 12:10
2006.03.26
Панель инструментов


15-1141472956
ipashkov
2006-03-04 14:49
2006.03.26
Глюки с Delphi IDE под Windows Server 2003


6-1134491378
Sysanin
2005-12-13 19:29
2006.03.26
Перехват пакетов


2-1142091057
dera
2006-03-11 18:30
2006.03.26
Что за ошибка?


3-1138887406
ilove
2006-02-02 16:36
2006.03.26
Национальные языки в IB/FB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский