Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: 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 вся ветка

Текущий архив: 2003.06.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-60031
prihod
2003-05-27 17:28
2003.06.19
??? Как бороться с временными файлами типа


14-60413
MicroWorld
2003-06-03 15:00
2003.06.19
interbase


14-60404
Думкин
2003-06-03 12:42
2003.06.19
Цивилизация и .... мы.


1-60222
Rel_
2003-06-05 15:12
2003.06.19
TTreeNode


4-60452
velsi
2003-04-17 12:38
2003.06.19
TaskbarCreated