在 Access 查询中使用日期作为条件的示例

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

若要了解如何创建查询,请参阅 查询简介。

下面是一些常见的日期条件示例,从简单日期筛选器到较复杂的日期范围的计算。 一些较复杂的示例使用 Access 日期函数提取日期的不同部分,以帮助您获得所需结果。

本文内容

在条件中使用当前日期的示例

要包含满足以下条件的项目... 使用此条件 查询结果
包含今天的日期 Date() 返回日期为今天的项目。 如果当前日期为 2/2/2012,则您将看到日期字段设置为 2012 年 2 月 2 日的项目。
包含昨天的日期 Date()-1 返回日期为昨天的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 2 月 1 日的项目。
包含明天的日期 Date() + 1 返回日期为明天的项目。 如果当前日期为 2012 年 2 月 2,则您将看到 2012 年 2 月 3 日的项目。
包含当前星期内的日期 DatePart("ww", [销售日期]) = DatePart("ww", Date()) and Year( [销售日期]) = Year(Date()) 返回日期在当前星期内的项目。 在 Access 中一个星期从星期日开始到星期六结束。
包含上一星期内的日期 Year([销售日期])* 53 + DatePart("ww", [销售日期]) = Year(Date())* 53 + DatePart("ww", Date()) - 1 返回日期在上个星期内的项目。 在 Access 中一个星期从星期日开始到星期六结束。
包含下个星期内的日期 Year([销售日期])* 53+DatePart("ww", [销售日期]) = Year(Date())* 53+DatePart("ww", Date()) + 1 返回日期在下个星期的项目。 在 Access 中一个星期从星期日开始到星期六结束。
包含前 7 天内的日期 Between Date() and Date()-6 返回日期在前 7 天内的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 1 月 24 日到 2012 年 2 月 2 日期间的项目。
包含当前月内的日期 Year([销售日期]) = Year(Now()) And Month([销售日期]) = Month(Now()) 返回日期在当前月内的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 2 月的项目。
包含上个月内的日期 Year([销售日期])* 12 + DatePart("m", [销售日期]) = Year(Date())* 12 + DatePart("m", Date()) - 1 返回日期在上个月内的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 1 月的项目。
包含下个月内的日期 Year([销售日期])* 12 + DatePart("m", [销售日期]) = Year(Date())* 12 + DatePart("m", Date()) + 1 返回日期在下个月内的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 3 月的项目。
包含前 30 天或 31 天内的日期 Between Date( ) And DateAdd("M", -1, Date( )) 返回一个月的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 1 月 2 日到 2012 年 2 月 2 日期间的项目。
包含当前季度内的日期 Year([销售日期]) = Year(Now()) And DatePart("q", [SalesDate]) = DatePart("q", Now()) 返回当前季度的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年第一季度的项目。
包含上个季度内的日期 Year([销售日期])*4+DatePart("q",[销售日期]) = Year(Date())*4+DatePart("q",Date())- 1 返回上个季度的项目。 如果当前日期为 2/2/2012,则您将看到 2011 年最后一个季度的项目。
包含下个季度内的日期 Year([销售日期])*4+DatePart("q",[销售日期]) = Year(Date())*4+DatePart("q",Date())+1 返回下个季度的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年第二季度的项目。
包含当年内的日期 Year([销售日期]) = Year(Date()) 返回当年的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年的项目。
包含去年内的日期 Year([销售日期]) = Year(Date()) - 1 返回去年的项目。 如果当前日期为 2/2/2012,则您将看到 2011 年的项目。
包含去年内的日期 Year([销售日期]) = Year(Date()) + 1 返回日期为明年的项目。 如果当前日期为 2/2/2012,则您将看到 2013 年的项目。
包含介于 1 月 1 日和今天之间的日期(当年到今天为止的项目) Year ([销售日期]) = Year (Date () ) and Month ([销售日期]) <= Month (Date () ) and Day ([销售日期]) <= Day (Date () ) 返回日期介于当年 1 月 1 日到当天之间的项目。 如果当前日期为 2/2/2012,则您将看到 2012 年 1 月 1 日到 2012 年 2 月 2 日期间的项目。
包含发生在过去的日期 < 日期 () 返回日期为当天之前的项目。
包含发生在将来的日期 > 日期 () 返回日期为当天之后的项目。

使用当前日期以外的日期或日期范围的示例

要包含满足以下条件的项目... 使用此条件 查询结果
完全匹配某个日期,如 2/2/2012 #2/2/2012# 仅返回日期为 2012 年 2 月 2 日的项目。
不匹配某个日期,如 2/2/2012 Not #2/2/2012# 返回日期在 2012 年 2 月 2 日以外的项目。
包含某个特定日期(如 2/2/2012)之前的值 < #2/2/2012# 返回日期在 2012 年 2 月 2 日之前的项目。
要查看日期在 2012 年 2 月 2 日当天或之前的项目,请使用 <= 运算符而不是 < 运算符。
包含某个特定日期(如 2/2/2012)之后的值 > #2/2/2012# 返回日期在 2012 年 2 月 2 日之后的项目。
要查看日期在 2012 年 2 月 2 日当天或之后的项目,请使用 >= 运算符而不是 > 运算符。
包含某个日期范围之内的值(介于两个日期之间) >#2/2/2012# and <#2/4/2012# 返回日期在 2012 年 2 月 2 日和 2012 年 2 月 4 日之间的项目。
注意: 您还可以使用 Between 运算符筛选值范围,包括终点。 例如,在 #2/2/2012# 和 #2/4/2012# 等同于 >=#2/2/2012# 和 <=#2/4/2012#。
包含某个范围之外的日期 <#2/2/2012# or >#2/4/2012# 返回日期在 2012 年 2 月 2 日之前或在 2012 年 2 月 4 日之后的项目。
包含两个日期之一,如 2/2/2012 或 2/3/2012 #2/2/2012# or #2/3/2012# 返回日期为 2012 年 2 月 2 日或 2012 年 2 月 3 日的项目。
包含多个日期中的一个或多个日期 In (#2/1/2012#, #3/1/2012#, #4/1/2012#) 返回日期为 2012 年 2 月 1 日、2012 年 3 月 1 日或 2012 年 4 月 1 日的项目。
包含特定月份(与年份无关)内的某个日期,如 12 月 DatePart("m", [销售日期]) = 12 返回日期在任一年的 12 月的项目。
包含特定季度(与年份无关)内的某个日期,如一季度 DatePart("q", [销售日期]) = 1 返回日期在任一年的第一季度的项目。
筛选 Null 值(即缺少值) Is Null 返回尚未输入日期的项目。
筛选非 Null 值 Is Not Null 返回已输入日期的项目。

筛选 null (丢失) 或非 null 日期的示例

要包含满足以下条件的项目... 使用此条件 查询结果
筛选 Null 值(即缺少值) Is Null 返回尚未输入日期的项目。
筛选非 Null 值 Is Not Null 返回已输入日期的项目。

在使用日期条件时遇到问题,例如无法获得所需结果? 请参阅日期条件在我的查询中不起作用。