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

Вниз

Всё тот же SQL   Найти похожие ветки 

 
Sheng ©   (2003-08-25 19:24) [0]

Суть вот в чём: есть БД, в ней ключевые два поля - Дата и Время.
Как правильно составить SQL-запрос на выборку от такого-то дня столько то времени до другого дня другого времени. Пробовал SELECT .... (SELECT ....) .... - не работает.


 
Dens   (2003-08-25 19:32) [1]

Sheng © (25.08.03 19:24)

Если не ошибаюсь, то так:

SELECT * FROM <TABLE>
WHERE ((ADATE>="01.01.2003") AND (ATIME>="00:00:00")) AND
((ADATE<="31.01.2003") AND (ATIME<="23:59:59"))


 
Fay   (2003-08-25 19:38) [2]

2 Dens
1) Так писать нормально? i := ((2*3)*(4*5));
2) В случае 12:00:00 вместо 23:59:59 что будет?


 
Fay   (2003-08-25 19:40) [3]

2 Sheng
В рагадохе при можно складывать дату с временем?
Если да, то если результатом сложения будет дата_время, то
сравнивай суммы даты.


 
Dens   (2003-08-25 20:00) [4]

Fay (25.08.03 19:38) [2]

1) Может, конечно скобок и много, но зато понятно.
2) Согласен. Дал не верный пример.
В случае 12:00:00 отберет все записи, у которых время,
будет в промежутке от 00:00:00 до 12:00:00, не зависимо от даты.


 
Fay   (2003-08-25 20:16) [5]

2 Dens
>> Может, конечно скобок и много, но зато понятно
Их не многовато - они там вАщЕ не нужны.
Хотя, кому-то, быть может, так понятнее. Быть может.

2 Sheng
Ты где? Ку-ку!


 
Dred2k ©   (2003-08-25 20:49) [6]

(DateF between :Date1 and :Date2)
and
((DateF <> :Date1) or (TimeF >= :Time1))
and
((DateF <> :Date2) or (TimeF <= :Time2))

Вроде, скобок немного ;)


 
Sheng ©   (2003-08-26 10:13) [7]


> Fay (25.08.03 20:16) [5]

Тут я, тут.

> to ALL

Так как всё-таки правильно написать и что правильно работать будет????


 
stud ©   (2003-08-26 10:28) [8]

(DateF between :Date1 and :Date2)
and
(TimeF between :Time1 and :Time2)
еще меньше скобок))


 
Dred2k ©   (2003-08-26 14:50) [9]

> stud © (26.08.03 10:28) [8]

Время нужно проверять только в пограничных значениях.
Иначе неправильно будет.

> Sheng © (26.08.03 10:13) [7]
> Так как всё-таки правильно написать и что правильно работать будет????

А проверить слабо? Или лень обуяла?


 
stud ©   (2003-08-26 15:38) [10]


> Dred2k

специально проверил)) результат одинаковый.


 
Dred2k ©   (2003-08-26 16:33) [11]

> stud © (26.08.03 15:38) [10]

Значит, хорошие тестовые данные придумал.
> от такого-то дня столько то времени до другого дня другого
> времени

А твой вариант отсечет все записи типа (Date1 > DateF < Date2), у которых время не попадет в интервал. Это неверно.



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

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

Наверх




Память: 0.49 MB
Время: 0.022 c
7-58939
Ricky-Ticky-Tavy
2003-07-06 13:08
2003.09.18
Надо запусть прогу перед тем как запустится WinME


9-58509
com2003
2003-03-17 18:07
2003.09.18
Работа с цветом


3-58521
Berezne
2003-08-28 12:43
2003.09.18
Подскажите как отфильтровать базу по дате?


1-58728
Modus
2003-09-07 09:46
2003.09.18
Оптимизировать по скорости


14-58862
Relaxxx
2003-08-30 14:51
2003.09.18
Как мне узнать что в Едит ввели нечисло а строковое значение??