Вниз
Скачать: CL | DM;

SQL запрос, бд-MS Access, по дате   Найти похожие ветки 

 
vantage10   (2003-05-25 18:44) [0]

Есть след. проблема:
Используется ADOQuery, БД-Access2000, Delphi7, Win2000
Все запросы работают, но запрос по дате и времени пишет несоотвествие типов данных.
Пробовал дату писать #04/03/2003# в таком формате ошибка не вылазит но и записей не выводит хотя они существуют в базе.


 
sniknik ©   (2003-05-25 20:49) [1]

два варианта,
первый вместо #04/03/2003# нужно #03/04/2003#
второй в базе значение со временем и нужно по другому запрос составить или с > < (больше 4-го и меньше 5-го) или сравнивать так WHERE Int(DateField)=#04/03/2003#

(возможно оба варианта пересекаются)


 
HelDet ©   (2003-05-26 07:45) [2]

Есть стандартные функции Year, Date, Month.

Попробуй:
SELECT * FROM Table WHERE Year(Table.DataField)=2003 AND Date(Table.DataField)=03 AND Month(Table.DataField)=04
Примерно так. Если я ошибся в написании стандартных функций, то посмори их в справке по Access. Писал по памяти.

В SQL американский формат даты mm.dd.yyyy


 
vantage10   (2003-05-27 18:23) [3]

>shiknik
Огромное спасибо, WHERE Int(DateField)=#04/03/2003# - в таком виде заработало!!!

>HelDet
Что-то не заработало, а Access не стоит и под рукой нет, при возможности посмотрю.


 
sniknik ©   (2003-05-27 19:09) [4]

vantage10 (27.05.03 18:23)
>>HelDet
> Что-то не заработало, а Access не стоит и под рукой нет, при возможности посмотрю.
тогда замени Year, (Date)-> на -> Day , Month.

если с отсечением времени Int(DateField) заработало то дело было в нем (время не учитывал, а не перепутал день/месяц)
а если к тому же это поле с индексом (DateField) то советую переделать запрос на использование > < или between DateField #04/03/2003# and #04/04/2003#. потому как в вычисляемых условиях индексы не используются (будет отрабатывать на порядок быстрей).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-60220
aleman
2003-06-05 13:48
2003.06.19
Как рассчитать синус и косинус?


14-60405
Top Gun
2003-05-31 16:55
2003.06.19
Мешают сообщения при отладке


6-60302
Kedis
2003-04-18 14:24
2003.06.19
Отправка писем


14-60347
Andrey V.
2003-06-02 10:23
2003.06.19
Слепить три файла в один.


14-60331
Алексей
2003-06-01 21:43
2003.06.19
БД какая нибудь нужна срочно




   Наверх