Access SQL返回今天的日期,这个日期很好,但如果它包含的时间不是今天的日期

时间:2015-07-15 17:41:40

标签: sql ms-access ms-access-2010

下面的SQL应该检查我的" Projects"今天完成的任何报价的表格,它确实如此。它不做的是选择今天完成的任何报价,如果该字段也有时间(大多数情况下,因为它自动盖章,管理层想要以小时和分钟而不是几天来衡量转弯时间)

如何才能进行以下查询检查日期?

SELECT [Customer name], [$ Amount], [Quote Completed], [Store], [Region]
FROM Projects
WHERE ([Quote Completed] = date()-1);

以上回报:

07/15/2015

但不是:

7/15/2015 12:57:39 PM

1 个答案:

答案 0 :(得分:2)

您可以使用DateValue([Quote Completed])仅比较日期部分,而忽略一天中的时间。但是,这意味着必须为 Projects 表的每一行评估函数,并且db引擎将无法使用索引检索。

因此,使用 Quote Completed 上的索引,您可以在性能方面更好地利用索引。这应该为您提供昨天的所有行,无论他们的时间如何:

WHERE [Quote Completed] >= Date()-1 AND [Quote Completed] < Date();

我根据你的SQL示例提出了这个建议。但是,你提到了今天的约会。对于今天的日期,请改用:

WHERE [Quote Completed] >= Date() AND [Quote Completed] < Date() + 1;