如何根据Date属性检索记录?我在尝试:
WHERE Meetings.[MDate] = '16/12/2011'
这是我使用的格式,但我得到:
“条件表达式中的数据类型不匹配”
问题解决了:应该是:
WHERE Meetings.[MDate] = 16/12/2011
没有引号。
答案 0 :(得分:13)
对于where子句使用
columnName = #mm/dd/yyyy#
答案 1 :(得分:10)
您需要使用SQL日期格式:'#2011-12-16#'
答案 2 :(得分:4)
使用强制转换为DATETIME
函数CDATE()
,它将遵循机器的区域设置。也就是说,使用明确的日期格式仍然是一个好主意,而ISO 8601格式是一个很好的格式。
另请注意,Access没有日期数据类型:其唯一的时态数据类型为DATETIME
,顾名思义,始终的时间元素精确到一秒时间颗粒,即使那个时间恰好是午夜。因此,最好始终在所有DATETIME
文字中包含一个第二时间粒度的时间值,例如:
WHERE Meetings.MDate = CDATE('2011-12-16 00:00:00');
上述的另一个优点是Access UI不会尝试重新格式化DATETIME
文字,因为它保存为字符串。