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

Вниз

Всё тот же 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
14-58920
Вася Добрый
2003-08-28 12:15
2003.09.18
Как создать


6-58812
JFX
2003-07-16 06:20
2003.09.18
Вопрос по ClientSocket и ServerSocet-у


14-58885
FRAME
2003-08-29 17:18
2003.09.18
Will code HTML for FLOOD?


3-58545
pvv
2003-08-26 13:21
2003.09.18
Быстрый поиск по базе Paradox


1-58629
Vitalygavrilov
2003-09-05 14:18
2003.09.18
Как сделать в D5 скринсейвер





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