Главная страница
    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.045 c
15-1140651830
QwertyKz
2006-02-23 02:43
2006.03.26
Автоматизация работы компьютерных клубов и интернет кафе


2-1141852506
Новочеркасский Волк
2006-03-09 00:15
2006.03.26
Как заставит два TClientSocket одновременно отправлять текст???


1-1140798177
аноним
2006-02-24 19:22
2006.03.26
Помогите разобраться с AV


2-1141725866
Zloy
2006-03-07 13:04
2006.03.26
Компилируемая программа запускается только на Windows XP


2-1142180153
Алик
2006-03-12 19:15
2006.03.26
Глюки при запуске SaveDialog! ПОМОГИТЕ !





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский