从两个日期之间的MS Access Table中选择?

时间:2014-07-08 01:14:42

标签: sql ms-access-2007

我有一个MS ACCESS表,其中包含用于存储日期的字符串字段(我有理由不使用类型日期),有没有办法在两个日期之间从表中选择行?因为我试过的一切似乎都没有用,它混淆了几年,几天和几个月,这就是我的尝试:

select  *  from audience where Format(auddate, "dd/MM/yyyy") between #01/06/2014# and  #01/08/2014#
select  *  from audience where Format(auddate, "dd/MM/yyyy") > #01/06/2014# and Format(auddate, "dd/MM/yyyy") > #01/08/2014#

除其他外,我得到了一些毫无意义的结果:

AudDate
25/06/2014
18/09/2012
2012年12月11日
28/01/2013
08/02/2011
13/10/2011

提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试CDate()将字符串转换为日期。

select  *  from audience 
where CDate(audate) between #01/06/2014# and #01/08/2014#;

如果由于CDate无法重新格式化而无法正常工作,您可以使用DateSerial(年,月,日)来构建日期。您将需要使用mid $和Cint()来构建年,月和日参数。这样的格式" yyyy-mm-dd":

DateSerial(CInt(mid(audate, 1, 4)), CInt(mid(audate, 6, 2)), CInt(mid(audate, 9, 2))

希望这有帮助。