首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-13 
请教一个判断时间段覆盖的问题!!需求如下:假设需插入的表就2个字段fromtime,totime,代表开始时间和结束时

请教一个判断时间段覆盖的问题!!
需求如下:
假设需插入的表就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 '非重復時間段 '

热点排行