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

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

SQL не воспринимает дату [D7, MS Access]


John_Doe ©   (2006-02-27 19:17:00) 

SELECT Id,Name
FROM WareList
WHERE DateMade BETWEEN '1-9-1993' AND '31-8-1994'

Ругается:
Несоответствие типов данных в выражении условия отбора.

Где ошибка?
Взял пример из книги "Полное руководство по SQL"
Д.Грофф,Пол Вайнберг


_Le_   (2006-02-28 10:04:00) [1]

Именно, даже если передавать строку в виде '#1/09/1993#' - лучше не становится


ЮЮ   (2006-02-28 09:12:00) [2]


> Изменение разделителей (хоть /, хоть .) не помогает

Потому что в  Access формат для строкового представления даты хитронавороченный:  '#<строкове представления даты>#'

Однако строкое представление может быть неоднозначно интерпретировано - см [9]


_Le_   (2006-02-28 09:01:00) [3]

Дату передавай через параметры. Работает.
Изменение разделителей (хоть /, хоть .) не помогает


evvcom   (2006-02-28 08:45:00) [4]


> '1-9-1993'

Это что? 1 сентября? 9 января? У Access с этим вроде есть неопределенность. [1] однозначно.


ViktorZ   (2006-02-28 06:46:00) [5]


>  BETWEEN '1-9-1993' AND '31-8-1994'

У тебя так точно даты разделяются. Мож так лучше 01.09.1993

ИЛИ через параметр BETWEEN :P1 AND :P2

SQL.Params[0].ASTYpe:=something

AsType- какой либо тип данных.


atruhin   (2006-02-27 19:26:00) [6]

Используй параметры в запросах, и будет счастье.


Наверх

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