我有一张请假申请表,里面有StartTime(请假开始时间),EndTime(请假结束时间),前端查询数据的时候会传一个区间,
比如说我要查询10.01到10.31的所有请假数据,那么请假时间为9.25到10.3 的也要查出来,10.30到11.04的也要查出来,这种
Sql如何写,求大神指点。
1、StartTime>=10.01 AND EndTime<=10.31
2、StartTime<=10.01 AND StartTime>=10.01 AND EndTime<=10.31
3、StartTime>=10.01 AND StartTime<=10.31 AND EndTime>=10.31
4、StartTime<=10.01 AND EndTime>=10.31
四种组合都能满足你说的情况,之间用or就可以连起来,看着比较复杂,你画时间轴能看出来
没理解你的意思,传的时间是10.01-10.31,获取数据区间是9.25-11.4?
或者用简单点的
1、StartTime>=10.01 AND StartTime<=10.31
2、EndTime>=10.01 AND EndTime<=10.31
2种情况一种满足即可。开始与结束只要在这个区间一个就满足
(startTime >= 10.01 and startTime <=10.31) or (endTime >= 10.01 and endTime <=10.31)
你的意思就是StartTime 在前端传过来的时间区间内,或者endTime 在前端传过来的时间区间内,那就这样喽:
(startTime >= 10.01 and startTime <=10.31) or (endTime >= 10.01 and endTime <=10.31)
前后各多加七天就行了
不知道我是不是读懂了你的意思,用between。请假开始或者结束时间在设置的时间段内
(StartTime>=10.01 AND EndTime<=10.31) OR (StartTime>=10.31 OR EndTime<= 10.1)