2011-01-20 2 views
0

Следующий запрос:Недопустимый вызов процедуры на DateDiff с MS Access Driver

SELECT DateDiff('month',0,'2000-01-01 00:00:00'); 

Возвращает "[ODBC Microsoft Access Driver] Invalid процедура вызова" ошибка, с причудливым кодом 22018.

Спекуляциями :

  • Microsoft Access версия драйвера: 4.00.6305.00
  • База данных создается с Access 2003

Вышеприведенный пример является правильным синтаксисом, так как вызов функции с текущим форматом (без одинарных кавычек в месяц) возвращает «[Microsoft] [ODBC Microsoft Access Driver] Слишком мало параметров. Ожидаемые 1.»

Итак, что такое правильный синтаксис, если я не получил это право? С другой стороны, как я выполняю DATEDIFF с этой версией драйвера?

+0

Для дальнейшего использования , вот хорошая документация со списком принятых деталей даты: http: // www .techonthenet.com/access/functions/date/dateiff.php – MPelletier

ответ

2

Я не понимаю, как ODBC . участвует, но ваш запрос не будет работать в контексте чистого доступа, поскольку DateDiff требует «м» в качестве интервала аргумента в месяц

в Access 2003, этот запрос возвращает 1201:

SELECT DateDiff('m',0,'2000-01-01 00:00:00'); 
+0

Awesome. Я не знаю, почему это меня достало. Ну, было уже поздно ... – MPelletier

Смежные вопросы