Главная страница
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.019 c
14-58878
Islander
2003-08-28 17:07
2003.09.18
Как быстро считать бинарник в переменную типа string?


1-58674
Dmitriy M. Volkov
2003-09-03 22:05
2003.09.18
высота taskbar


1-58759
Igor__
2003-09-02 19:23
2003.09.18
ImageList глючит


1-58622
Ozone
2003-09-08 10:17
2003.09.18
Работа с указателями


4-58981
DevMaster
2003-07-17 16:58
2003.09.18
Передача текста в другое приложение