8

我正在创建一个使用MSAccess作为数据库的简单应用程序。当我尝试使用以下查询检索数据时 - 我收到异常未定义函数 GETDATE()

select *
from tempdata
where dateissue  between DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) - 0 , 0) 
and  DATEADD(MM,         DATEDIFF(MM, 0, GETDATE()) + 1, - 1 )

我们不能在 c# 代码中使用 sql 内置方法吗?如果是这样,我该如何解决这个问题

4

3 回答 3

7

GETDATE() 不是 MSAccess 中的函数。等价物是:

Now()提供日期和时间

Date()提供日期

Time()提供时间

于 2013-09-07T01:37:22.453 回答
3

现在您已经解决了第一个问题(Access SQL 中没有GETDATE()函数),您发现了另一个问题。

DateAdd 函数需要一个“字符串表达式,即您要添加的时间间隔”作为其第一个参数Interval。但是你给了它MM

DATEADD(MM, DATEDIFF(MM, 0, DATE()) - 0 , 0)

我不明白您要添加的时间间隔。如果要添加分钟,请使用...

DateAdd('n', ...

如果要添加月份,请使用...

DateAdd('m', ...

如果要添加天数,请使用...

DateAdd('d', ...

注意DateDiff()还需要一个Interval字符串参数,并且允许的值与DateAdd().

于 2013-09-07T02:01:28.207 回答
3

GETDATE()在 MS ACCESS中 相当于DATE()

于 2013-09-07T01:37:12.133 回答