Главная страница
    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.01 c
1-58647
Armaniak
2003-09-05 07:37
2003.09.18
Как вывести Hint`ы в отдельное поле


1-58636
Рамиль
2003-09-05 11:52
2003.09.18
Строка с символами #0.


7-58953
Сергей Князев
2003-07-03 10:41
2003.09.18
Два модема одновременно


8-58789
Still Swamp
2003-05-20 15:00
2003.09.18
mciSendCommand в в трэде косячит.


3-58572
alex-ran
2003-08-27 11:23
2003.09.18
Построение агрегатной функции SQL для нечисловых знач.





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