在 Access 查詢中使用日期做為準則的範例

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

想了解如何建立查詢,請參閱 查詢入門

以下是一些常見的日期準則範例,包括簡單的日期篩選和較複雜的日期範圍計算。 在一些較複雜的範例中,會使用 Access 日期函數來擷取日期的不同部分,協助您取得您想要的結果。

本文內容

於準則中使用目前日期的範例

若要包括滿足下列條件的項目: 使用這個準則 查詢結果
包含今天的日期 Date() 傳回今天日期的項目。 如果今天的日期是2012年2月2日,你會看到日期欄位設為2012年2月2日的項目。
包含昨天的日期 Date()-1 退貨日期為昨天。 如果今天是2012年2月2日,您將看到2012年2月1日的項目。
包含明天的日期 Date() + 1 退回明天日期的商品。 如果今天日期是2012年2月2日,您將看到2012年2月3日的項目。
包含目前這一週的日期 DatePart("ww", [SalesDate]) = DatePart("ww", Date()) and Year( [SalesDate]) = Year(Date()) 傳回日期為目前這一週的項目。 Access 的一週從星期日開始,並在星期六結束。
包含前一週的日期 Year([SalesDate])* 53 + DatePart("ww", [SalesDate]) = Year(Date())* 53 + DatePart("ww", Date()) - 1 傳回日期為上一週的項目。 Access 的一週從星期日開始,並在星期六結束。
包含下一週的日期 Year([SalesDate])* 53+DatePart("ww", [SalesDate]) = Year(Date())* 53+DatePart("ww", Date()) + 1 傳回日期為下一週的項目。 Access 的一週從星期日開始,並在星期六結束。
包含前 7 天內的日期 Between Date() and Date()-6 傳回日期為前 7 天的項目。 如果今天日期是2012年2月2日,您將看到2012年1月24日至2012年2月2日期間的項目。
包含目前月份內的日期 Year([SalesDate]) = Year(Now()) And Month([SalesDate]) = Month(Now()) 傳回日期為目前月份的項目。 如果今天是2012年2月2日,您將看到2012年2月的項目。
包含上個月的日期 Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1 傳回日期為上個月的項目。 如果今天是2012年2月2日,您將看到2012年1月的項目。
包含下個月的日期 Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) + 1 傳回日期為下個月的項目。 如果今天是2012年2月2日,您將看到2012年3月的項目。
包含前 30 天或 31 天內的日期 Between Date( ) And DateAdd("M", -1, Date( )) 傳回一個月內的項目。 如果今天日期是2012年2月2日,您將看到2012年1月2日至2012年2月2日期間的項目。
包含目前這一季的日期 Year([SalesDate]) = Year(Now()) And DatePart("q", Date()) = DatePart("q", Now()) 傳回目前這一季的項目。 如果今天日期是2012年2月2日,您將看到2012年第一季的項目。
包含上一季的日期 Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())- 1 傳回上一季的項目。 如果今天是2012年2月2日,你會看到2011年最後一季的項目。
包含下一季的日期 Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())+1 傳回下一季的項目。 如果今天是2012年2月2日,您將看到2012年第二季的項目。
包含目前年份的日期 Year([SalesDate]) = Year(Date()) 傳回這一年的項目。 如果今天是2012年2月2日,你將看到2012年的項目。
包含前一年的日期 Year([SalesDate]) = Year(Date()) - 1 傳回前一年的項目。 如果今天的日期是2012年2月2日,你會看到2011年的項目。
包含明年的日期 Year([SalesDate]) = Year(Date()) + 1 傳回明年日期的項目。 如果今天是2012年2月2日,你將會看到2013年的項目。
包含 1 月 1 日到今天之間的日期 (即年初至今的項目) 年份 ([銷售日期]) = 年份 (日期 () ) 與月份 ([銷售日期]) <= 月 (日期 () ) 與日期 ([銷售日期]) <= () ) (日期 傳回日期落於今年 1 月 1 日到今天之間的項目。 如果今天日期是2012年2月2日,您將看到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# 與 <#2/4/2012# 傳回在日期在 2012 年 2 月 2 日到 2012 年 2 月 4 日之間的項目。
註: 你也可以使用 Between 運算子來篩選範圍的值,包括終點。 例如,Between #2/2/2012# 與 #2/4/2012# 等同於 >=#2/2/2012# 與 <=#2/4/2012#。
包含範圍以外的日期 <#2/2/2012# 或 >#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", [SalesDate]) = 12 傳回日期在任一年 12 月中的項目。
包含在特定季度中的日期 (不論年份),例如第一季 DatePart("q", [SalesDate]) = 1 傳回日期在任一年第一季中的項目。
篩選出 Null 值 (即缺少值) Is Null 傳回尚未輸入日期的項目。
篩選出非 Null 值 Is Not Null 傳回已經輸入日期的項目。

篩選 null 的範例 (缺少) 或非 null 日期

若要包括滿足下列條件的項目: 使用這個準則 查詢結果
篩選出 Null 值 (即缺少值) Is Null 傳回尚未輸入日期的項目。
篩選出非 Null 值 Is Not Null 傳回已經輸入日期的項目。

在日期準則方面有問題,例如沒有獲得預期的結果嗎? 請參閱在我的查詢中日期準則沒有作用