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

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

Как в запросе указать условие отбора по дате с временем...


jeka_t ©   (2005-09-02 18:06:00) 

У меня запрос работет так:
Select * from Table where RegDateTime BETWEEN #09/02/2005# AND #08/26/2005#

Пишу:
Select * from Table where RegDateTime BETWEEN #09/02/2005 17:03:57# AND #08/26/2005 17:03:57# - не работает и пишет ошибку: "Неправильно определён объект Parametеr. Предоставлены несовместимые или не полные сведения"


Desdechado   (2005-09-06 11:25:00) [1]

параметрический запрос должен работать на 100%
если "не помогает", пиши текст ошибки и код


LostDelpher   (2005-09-06 06:52:00) [2]

Любая дата в БД это рациональное число - кажется до запятой - это дни после 1900 года а после это милисекунды после полуночи - точно не помню но покопайся с этим  - в справке по MSSQL или ACCESS должно быть.

значит можно вместо дат поставить просто числа - помнится в Акцессе я так делал когда была эта проблема .


dmitry501   (2005-09-06 04:38:00) [3]

К сожелению и это не помогает... Я нашел, ответ другой...
Этот другой ответ неверен. На сервере может стоять не только английския язык, а например русский или немецкий. В таком случае вы получите ошибки и головную боль в будущем. Наиболее правильный ответ - параметры, или если уж так хочется использовать строки - то дату для MS SQL передавайте в формате yyyymmdd


jeka_t   (2005-09-05 09:48:00) [4]

К сожелению и это не помогает... Я нашел, ответ другой...
Select * From Table where Between DateValue('09/02/2005 17:03:57') and DateValue('08/26/2005 17:03:57')
Есть ещё и функция TimeValue()...


Sam Stone   (2005-09-03 22:25:00) [5]

тогда уж лучше ParamByName('tstart').asDateTime:=....


Desdechado   (2005-09-02 18:56:00) [6]

А ты используй нормальный параметрический запрос
Select * from Table where RegDateTime BETWEEN :tStart AND :tFinish

ParamByName( 'tStart' ).AsTimeStamp := ... #08/26/2005 17:03:57#


Наверх

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