今天一个朋友问我access数据库查询某个时间段的数据应该怎么来查,我就随手写下了:
SELECT * FROM table_name where [date_name] between #time_a# and #"time_b#
结果问题来了,查询的结果始终不对,比如他查询2009-7-1至2009-7-17时间段之间的数据的话数据中没有2009-7-17号的数据,怎么改也始终查不出,换成了>= <=也不行.全是一个结果.就是查不出time_b的数据,谁知道这是什么问题?access版本是2003的.
看看这个
http://space.cnblogs.com/question/7952/
注意如果没有时分秒,access会默认为0:00:00
SELECT ID,PName,PDate from testtable
where cdate(PDate)>=cdate('2009-7-1 0:00')
and cdate(PDate)<=cdate('2009-7-18 0:00')
---或
SELECT ID,PName,PDate from testtable
where cdate(PDate)>=#2009-7-1 0:00#
and cdate(PDate)<=#2009-7-18 0:00#
试把时间转换一下,从2009-7-1 00:00:00至 2009-7-17 23:59:59