access怎样实现按时间段查询内容?本人小白,来个高手帮帮忙,说的详细些,谢谢

2025-05-08 00:16:15
推荐回答(2个)
回答1:

针对Access 进行时间段查询

fristTime:开始时间;
endTime:结束时间
条件:" and (zpsj between #" + fristTime + "# and #" + endTime + "#)";
若选择2008-07-02 到 2008-07-02 将没有任何数据,如何格式化可将其查询得到

between 实际是“>= and <” time >= '2008-7-2' and time <='2008-7-2' and (time between #" + fristTime + "# and #" + endTime + "#)";
是不对的,如果你里面的时间是:2008-7-2 1:1:1你就取不到,因为这个已经超过了2008-7-2了,所以你要取所有7-2的,就按照下面的设置去做
1.用between取2008-7-2 0:0:0 至2008-7-2 24:59:59之间
2.也可以把time 转成日期再取
ACCESS数据:
aa bb
2008-7-2 12:12:12 time1
2008-7-3 12:12:12 time2

语句: Select * from 表 where time1>=#2008-7-2 12:12:12# and time2 <=#2008-7-2 14:12:12#
结果: Time1 time2 2008-7-2 12:12:12 time1的

条件:" (time between #" +fristTime.ToShortDateString() +" 00:00:00 " + "# and #" + endTime.ToShortDateString()+" 23:59:59" + "#) or time=#" + fristTime + "# or time=#" + endTime + "#";

回答2:

用datadiff函数

比如查询昨天

select * from table where datediff('d',mytime,now())=1 也就是现在时间减去字段的时间等于1的,不就是昨天吗,同样可以用>,<不等号