比较两个日期。平等也不起作用



我在比较两个日期时遇到了麻烦:数据库中有较短的日期时间字段,由 Microsoft Access 2002-2003 数据扩展插件 (#yyyy/mm/dd# 记录)。当我尝试通过运算符"大于"和"小于"进行比较时,它工作正常,但是当我替换为运算符"等于"时,它给了我一个空的结果。以下是查询:

SELECT * FROM Logs WHERE (Date = #2015.06.11#) - 返回一个空结果,但

SELECT * FROM Logs WHERE (Date > #2015.06.10#) - 没关系。我做错了什么?

日期/时间值 #2015.06.11# 包含一个时间部分,即上午 12:00

如果该日期的任何存储值包含 12:00 AM 以外的时间部分,则 WHERE 子句将排除这些值。

使用修改后的 WHERE 子句检索目标日期的所有行(无论一天中的时间如何),并显示存储日期值的时间部分:

SELECT
    l.*, 
    Format(l.Date, 'h:nn ampm') AS time_component
FROM Logs AS l
WHERE l.Date >= #2015.06.11# AND l.Date < #2015.06.12#;

请注意,对于我的系统区域设置,由于点分隔符,#2015.06.11# 无法识别为日期/时间值。 但是,我认为该格式对您的区域设置有效。 如果有任何疑问,请尝试使用其他分隔符:#2015-06-11# 或 #2015/06/11#

我认为你没有问题。您的表不包含具有该日期的条目。

最新更新