数据库里有个表,其中有3个字段,id,dateStart,dateEnd
现在需要用一个时间段(date1,date2)和表中的所有记录进行比较,返回这个时间段与表中时间段相交的记录集。
例如:date1>dateStatr and date2 <dateEnd 或者 date1<dateStatr and date2 >dateStart 或者 date1<dateEnd and date2 >dateEnd 或者 date1<dateStart and date2 >dateEnd都属于相交的情况,请问sql语句该如何写呢?谢谢!
现在需要用一个时间段(date1,date2)和表中的所有记录进行比较,返回这个时间段与表中时间段相交的记录集。
例如:date1>dateStatr and date2 <dateEnd 或者 date1<dateStatr and date2 >dateStart 或者 date1<dateEnd and date2 >dateEnd 或者 date1<dateStart and date2 >dateEnd都属于相交的情况,请问sql语句该如何写呢?谢谢!
where 条件1 or 条件2 or 条件3 or 条件4没看有没有重复的,是否可以省略哪个
select * from tb where date2<dateStar or date1>dateEnd)可以吗?
where date1 > dateStatr and date2 < dateEnd
or date1 < dateStatr and date2 > dateStart
or date1 < dateEnd and date2 > dateEnd
or date1 < dateStart and date2 > dateEnd
select * from table
where date1 between dateStart and dateEnd
or date2 between dateStart and dateEnd
or (date1<=dateStart and date2>=dateEnd)