使用 MS Access 驱动程序对 DateDiff 进行无效过程调用

发布于 2024-10-12 14:21:58 字数 414 浏览 6 评论 0原文

以下查询:

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

返回“[ODBC Microsoft Access 驱动程序]无效的过程调用”错误,并带有奇怪的代码 22018。

规格:

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

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

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

The following query:

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

Returns a "[ODBC Microsoft Access Driver] Invalid procedure call" error, with the bizarre code of 22018.

Specs:

  • Microsoft Access Driver version: 4.00.6305.00
  • Database created with Access 2003

The above appears to be the proper syntax, as calling the function with the current format (no single quotes for month), returns "[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1."

So, what is the proper syntax, if I did not get it right? Alternatively, how do I perform a datediff with that version of the driver?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Oo萌小芽oO 2024-10-19 14:21:58

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

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

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

I don't understand how ODBC is involved, but your query won't work in a pure Access context because DateDiff requires "m" as the interval argument for month.

Within Access 2003, this query returns 1201:

SELECT DateDiff('m',0,'2000-01-01 00:00:00');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文