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

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

以下是一些常見的日期準則範例,包括簡單的日期篩選和較複雜的日期範圍計算。 在一些較複雜的範例中,會使用 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", [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

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

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

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×