【问题标题】:MS Access query to pull records between dateMS Access 查询以在日期之间提取记录
【发布时间】:2017-03-25 01:12:37
【问题描述】:

我正在使用 Microsoft Query 从 Access 数据库中提取数据。我试图在明天 01:00:00 和第二天早上 00:00:00 之间提取数据。我已经尝试了所有的

WHERE (acct_data.Date Between DATEADD(DAY,1, DateADD(HOUR,1, GETDATE())) And DATEADD(DAY,2, GETDATE())))

WHERE (acct_data.Date Between DATEADD(DAY,1, DateADD(HOUR,1, GETDATE())) And DATEADD(DAY,2, GETDATE())))

以及介于两者之间的所有内容(正确的代码除外)。有谁知道从明天凌晨 1 点到午夜获取数据的正确语法?

提前感谢您的帮助。

【问题讨论】:

标签: sql ms-access


【解决方案1】:

这将是 MS Access 语法:

WHERE acct_data.Date >= dateadd("h", 25, now()) And 
      acct_data.Date < dateadd("d", 2, now())

【讨论】:

  • 感谢您的回复我收到“参数太少。预期为 2”。警报。我在其他一些尝试中也收到了同样的信息。
  • 我刚刚注意到我的标题已被编辑。我实际上是在使用 Excel 使用 Microsoft Query 从 Access 中提取数据。我不拥有 Access 数据库,但我有权使用 Excel 查询表。
  • 戈登,不是小时,而是hd而已。
  • @Gustav 。 . .谢谢。
  • 此外,最初使用的 OP 的 BETWEENoperator 也可以在这里工作。事实上,建议根据 MSDN 文档对 Query Performance Tips 进行评估,因为引擎评估条件一次而不是两次,尽管范围包括起点/终点。
【解决方案2】:

谢谢大家的回复。我应该要求一个mod摆脱这个线程。我在另一个线程中重申了我的问题。我在这个线程的标题中不清楚,并且标题已更改。虽然当我标记一个接受的答案时,这个线程不会得到更多关注(因为 Gordon 的答案是针对 Access 语法)。我现在意识到 MS Query 确实使用 Access 语法(我最初是这么认为的,但我的查询不断收到错误消息)我会再次尝试你的建议,Gordon(使用“d”和“h”)。我想我已经试过了,但我一定没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多