在 Access 查询中使用日期作为条件时,可能会发现没有得到预期的结果。
在上面显示的查询中,条件 >=#1/1/2005#<#1/1/2010# 将不起作用,因为它无效。 查询将运行,但结果可能会是错误的。 该条件需要在日期之间使用“And”运算符。 下面显示的条件(使用 “And” 运算符)将按预期工作:
为了方便起见,可以使用带有日期的“介于”和“And”运算符来执行相同的测试,而不是使用“大于”、“小于”或“等于”符号,如下所示:
介于 #1/1/2005# 和 #1/1/2010 之间#
注意到日期周围的 # 字符 (井号) 了吗? 输入 Access 识别的日期时,它会自动包含在 # 字符中。
日期条件示例
这显示了一些有效条件和一些不起作用的条件:
| 条件 | 返回符合以下条件的记录: |
|---|---|
| >12/31/10 | 日期为 2011 年 1 月 1 日或之后。 |
| <=6/1/2014 | 日期为 2014 年 6 月 1 日或之前。 |
| 8/25/13 | 唯一的日期是 13/8/25。 |
| 9/1 和 15/12/31 之间 | 日期为当年 9 月 1 日或之后且在 15 年 12 月 31 日或之前。 |
| >3/31/13<7/1/13 | 所有日期。 该条件缺少“And”运算符,因此不会筛选掉任何结果。 |
| 10/3/1 到 05/1/1 之间 | 日期为 05/1/1 或之后且在 10/3/1 或之前。 在条件中输入的较晚日期在较早日期之前并不重要。 |
Access 可识别的日期格式示例
下面是可以在 “条件” 单元格中使用的许多日期格式中的一部分:
| 格式 | 示例 |
|---|---|
| yyyy/m/d | 10/5/2013 |
| m/d | 10/5 如果未指定年份,Access 将使用当前年份。 |
| d-mmm-yyyy | 2013 年 10 月 5 日 |
| M-D-YYYY | 3-7-1990 |
有关将日期用作查询条件的多种方法,请参阅 在 Access 查询中使用日期作为条件的示例 。