使用 MS Access 驱动程序对 DateDiff 进行无效过程调用
以下查询:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不明白 ODBC 是如何参与的,但您的查询在纯 Access 上下文中无法工作,因为 DateDiff 需要“m”作为月份的间隔参数。
在 Access 2003 中,此查询返回 1201:
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: