![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Используй параметры в запросах, и будет счастье.