针对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 + "#";
用datadiff函数
比如查询昨天
select * from table where datediff('d',mytime,now())=1 也就是现在时间减去字段的时间等于1的,不就是昨天吗,同样可以用>,<不等号