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

若要瞭解如何建立查詢,請參閱查詢簡介

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

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

使用目前日期以外之日期或日期範圍的範例

篩選出 Null (遺漏) 或非 Null 日期的查詢

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

若要包括滿足下列條件的項目:

使用這個準則

查詢結果

包含今天的日期

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", [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 天的項目。如果今天的日期是 2/2/2012,您將會看到 2012 年 1 月 24 日到 2012 年 2 月 2 日的項目。

包含目前月份內的日期

Year([SalesDate]) = Year(Now()) And Month([SalesDate]) = Month(Now())

傳回日期為目前月份的項目。如果今天的日期是 2/2/2012,您將會看到 2012 年 2 月的項目。

包含上個月的日期

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1

傳回日期為上個月的項目。如果今天的日期是 2/2/2012,您將會看到 2012 年 1 月的項目。

包含下個月的日期

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = 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([SalesDate]) = Year(Now()) And DatePart("q", Date()) = DatePart("q", Now())

傳回目前這一季的項目。如果今天的日期是 2/2/2012,會顯示 2012 年第一季的項目。

包含上一季的日期

Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())- 1

傳回上一季的項目。如果今天的日期是 2/2/2012,會顯示 2011 年最後一季的項目。

包含下一季的日期

Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())+1

傳回下一季的項目。如果今天的日期是 2/2/2012,會顯示 2012 年第二季的項目。

包含目前年份的日期

Year([SalesDate]) = Year(Date())

傳回這一年的項目。如果今天的日期是 2/2/2012,您將會看到 2012 年的項目。

包含前一年的日期

Year([SalesDate]) = Year(Date()) - 1

傳回前一年的項目。如果今天的日期是 2/2/2012,您將會看到 2011 年的項目。

包含明年的日期

Year([SalesDate]) = Year(Date()) + 1

傳回明年日期的項目。如果今天的日期是 2/2/2012,您將會看到 2013 年的項目。

包含 1 月 1 日到今天之間的日期 (即年初至今的項目)

Year([SalesDate]) = Year(Date()) and Month([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date())

傳回日期落於今年 1 月 1 日到今天之間的項目。如果今天的日期是 2/2/2012,您將會看到 2012 年 1 月 1 日到 2012 年 2 月 2 日之間的項目。

包含過去的日期

< Date()

傳回日期在今天之前的項目。

包含未來的日期

> Date()

傳回日期在今天之後的項目。

使用目前日期以外之日期或日期範圍的範例

若要包括滿足下列條件的項目:

使用這個準則

查詢結果

與某個日期完全符合,例如 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 運算子篩選值範圍,包括端點。例如,Between #2/2/2012# and #2/4/2012# 與 >=#2/2/2012# and <=#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", [SalesDate]) = 12

傳回日期在任一年 12 月中的項目。

包含在特定季度中的日期 (不論年份),例如第一季

DatePart("q", [SalesDate]) = 1

傳回日期在任一年第一季中的項目。

篩選出 Null 值 (即缺少值)

Is Null

傳回尚未輸入日期的項目。

篩選出非 Null 值

Is Not Null

傳回已經輸入日期的項目。

篩選出 Null (遺漏) 或非 Null 日期的查詢

若要包括滿足下列條件的項目:

使用這個準則

查詢結果

篩選出 Null 值 (即缺少值)

Is Null

傳回尚未輸入日期的項目。

篩選出非 Null 值

Is Not Null

傳回已經輸入日期的項目。

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

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×