若要瞭解如何建立查詢,請參閱查詢簡介。
以下是一些常見的日期準則範例,包括簡單的日期篩選和較複雜的日期範圍計算。 在一些較複雜的範例中,會使用 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 |
傳回已經輸入日期的項目。 |
在日期準則方面有問題,例如沒有獲得預期的結果嗎? 請參閱在我的查詢中日期準則沒有作用。