我有一个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
提前致谢。
答案 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))
希望这有帮助。