Вниз
Скачать: 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-60223
Rel_
2003-06-05 15:46
2003.06.19
работа с памятью


3-60049
Disruptor
2003-05-24 09:11
2003.06.19
Работа с датами. Операции.


14-60390
Домарощинер
2003-06-03 12:17
2003.06.19
Вопрошающим посвещается:


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


7-60432
Prior
2003-04-13 11:45
2003.06.19
Блокировка Alt+F4 и Alt+Ctrl+Del




   Наверх