【问题标题】:MSAccess: Return query for specific date from datetime valueMS Access:从日期时间值返回特定日期的查询
【发布时间】:2019-03-26 19:12:41
【问题描述】:

我正在尝试从 MS SQL Server 中具有日期时间字段的链接表运行查询。我正在尝试运行一个简单的查询来搜索特定日期的记录 (#03/24/2018#),但由于 datetime 字段也有时间,除非我使用 BETWEEN 指定时间范围,否则我没有得到任何记录时间(Between #03/24/2018 00:00:00 AM# And #03/24/2018 11:59:59 PM#)。

未返回所需输出的原始查询:

SELECT *
WHERE MyDateTimeField) = #3/24/2018#;

查询

SELECT *
WHERE MyDateTimeField) Between #3/24/2018 00:00:00 AM# And #3/24/2018 23:59:59#);

是否有解决方法,不必在时间上使用 BETWEEN 运算符?

【问题讨论】:

    标签: ms-access ms-access-2016


    【解决方案1】:

    为避免时间部分,请检查MyDateTimeFieldequal/大于搜索日期和小于第二天:

    SELECT *
    FROM MyTable
    WHERE 
        MyDateTimeField >= #3/24/2018# 
      AND 
        MyDateTimeField < DateAdd("d",1,#3/24/2018#);
    

    与将MyDateTimeFieldto date 转换相反,这不会阻止索引使用和handlesNullValues onMyDateTimeField

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 2013-10-31
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      相关资源
      最近更新 更多