0

以下查询:

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

返回“[ODBC Microsoft Access Driver] Invalid procedure call”错误,奇怪的代码为 22018。

眼镜:

  • Microsoft Access 驱动程序版本:4.00.6305.00
  • 使用 Access 2003 创建的数据库

上面的语法似乎是正确的,因为使用当前格式(月份没有单引号)调用函数,返回“[Microsoft][ODBC Microsoft Access Driver] 参数太少。预期为 1。”

那么,如果我没有正确理解,正确的语法是什么?或者,如何使用该版本的驱动程序执行 datediff?

4

1 回答 1

2

我不明白 ODBC 是如何参与的,但您的查询在纯 Access 上下文中不起作用,因为 DateDiff 需要“m”作为月份的间隔参数。

在 Access 2003 中,此查询返回 1201:

SELECT DateDiff('m',0,'2000-01-01 00:00:00');
于 2011-01-20T02:24:46.413 回答