Вниз
Скачать: 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.011 c
1-60257
Alex-21
2003-06-04 21:20
2003.06.19
Virtual Key Сodes


14-60375
Юрий Зотов
2003-06-02 15:51
2003.06.19
Купи - продам!


14-60320
Сергей Суровцев
2003-06-03 20:13
2003.06.19
Принтер HP LJ1000 - перевод страницы.


14-60323
Лёлик
2003-06-04 00:36
2003.06.19
Crystal Enterprise


1-60158
Jeka.
2003-06-06 08:00
2003.06.19
Закрытие файла




   Наверх