技术成就梦想

知道用户需求,做到专注!c#,donet,Frameworks,UML,面向对象,设计模式!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sqlserver 时间段交叉查询语句(最简短的)

Posted on 2010-09-06 15:55  我不是高手  阅读(1710)  评论(0编辑  收藏  举报

表1

id 起始时间 截止时间

1 2008-8-1 2008-8-20

2 2008-5-1 2008-5-20

 

已知一个时间段a到b,求表里面与该时间段交叉的记录 比如,2008-7-5--2008-8-5 与 2008-8-1---2008-8-20

其中一种写法就是 where (起始时间 between a and b) or (截止时间 between a and b) or (a between 起始时间 and 截止时间) or (b between 起始时间 and 截止时间)