Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL запрос, бд-MS Access, по времени [D7, Access]


vantage10 ©   (2003-06-06 13:58:00) 

Я уже писал тоже самое по дате
( http://www.delphimaster.ru/cgi-bin/forum.pl?look=1&id=1053873893&n=1)
Теперь возник тот же самый вопрос по времени.
Время (WHERE Int(DateField)=#18:00:00#) подобно дате (WHERE Int(DateField)=#04/03/2003#)
не заработало.


sniknik   (2003-06-07 16:34:00) [1]

vantage10 (07.06.03 16:23)
сделай так
SELECT Round(DateField-Int(DateField), 16), Round(#30/12/1899 02:00:00#,16) FROM TableName
и посмотри на разницу глазами. время это же дробная часть числа, а такие числа плохо сравнивать. иногда (с некоторыми числами) не проходит даже
Fl: Double;

Fl:= 0.0357;
if Fl = 0.0357 then begin

end;

и условие ложное получается, изза этой самой разрядной сетки, переменная на самом деле будет содержать 0,0356565656475 (чтото типа этого, не обязательно это число конечно это я так, просто есть такие, сдесь обсуждалось)


vantage10   (2003-06-07 16:23:00) [2]

Странно, но не получилось


sniknik   (2003-06-06 15:10:00) [3]

не не получается :(, вмешивается погрешность в разрядной сетке(а может это милисекунды неучтенные), чтобы избавится от последних разрядов нужно тогда так.

WHERE Round(DateField-Int(DateField), 10) = Round(#30/12/1899 02:00:00#,10)

(проще по задаче смотреть, лутше и точнее будет использовать временные функции, Hour, Minute, Second)


sniknik   (2003-06-06 14:36:00) [4]

похоже ты чешеш левой пяткой правое ухо, сначала разделяеш потом сравниваеш. зачем? почему не сразу.

по вопросу. вот так должно получится (все даты с 6 часами ровно)
WHERE DateField-Int(DateField)=#30/12/1899 18:00:00#


Наверх

Титульная страница Поиск, карта сайта Написать письмо