当前位置: 代码迷 >> Sql Server >> 请问一个判断时间段覆盖的有关问题!
  详细解决方案

请问一个判断时间段覆盖的有关问题!

热度:45   发布时间:2016-04-27 17:33:00.0
请教一个判断时间段覆盖的问题!!
需求如下:
假设需插入的表就2个字段   fromtime,totime,代表开始时间和结束时间是个时间段
fromtime肯定小于totime

现要插入新的记录(也是一个时间段),需判断新记录的时间段是否和表内的时间段有重叠的地方,重叠的话则不允许插入

比如表内已有时间段2007/6/1-2007/8/1
则2007/5/1-2007/7/1和2007/7/1-2007/9/1和2007/5/1-2007/9/1都不允许插入

请教如何判断?



------解决方案--------------------
--假設要插入 "2007-07-02 ", "2007-07-16 "
If Exists(Select 1 From @tt Where ( '2007-07-02 ' Between fromtime And totime) Or ( '2007-07-16 ' Between fromtime And totime))
Print '重復時間段 '
Else
Print '非重復時間段 '
  相关解决方案