日期:2014-05-16  浏览次数:21100 次

ACCESS时间查询,判断问题,在线等
请教:
  表A结构如下:ID StartTime EndTime
  1 2010/4/2 9:00:00 2010/4/2 11:00:00
  2 2010/4/2 12:00:00 2010/4/2 14:00:00
  . ... ...

  现我拥有两个时间变量a,b,怎样查询可以得知a,b所组成的时间段和表中StartTime,EndTime构成的时间段不冲突?
  我想到的是这样:
  1.倘若a小于StartTime中最小,那么b也应该小于StartTime中最小的记录,同时b应该大于a;
  2.倘若a大于EndTime中最大,那么b也应该大于EndTime中最大,同时b应该大于a;
  3.倘若a不比StartTime中最小的小,也不比EndTime中最大的大,那么a不应该处于由StartTime和EndTime所组成的任意时间段内(这个我可以通过between判断),这种情况下我应该怎样对b做判断呢?我的思路是查出离a最近的StartTime,然后b应该小于此StartTime,但可悲的是我不知道怎样得到离a最近的StartTime(我不能每个都想减取最小值吧?),不知道ACCESS有没提供什么时间方面的函数可供调用,请给予帮助。


------解决方案--------------------
SQL code
select *
from 表A
where b>StartTime and a<EndTime