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