sql中检查时间是否重叠

先画一个时间轴,方便理解。


设新的时间块,开始时间为start,结束时间为end。数据库中的数据为item

这样可以直观的看出来,新的时间块插入进来,只需要判断

start<item.end and end > item.start 

即可 

当然上面是判断不重叠,判断重叠原理一样。

(start between item.start and item.start ) OR (end between item.start and item.start)