求SQL,关于时间段查询

panzi667 2012-05-14 12:04:53
有一个表A,字段:id,time1,time2
现在有一个查询条件,时间字段s1,s2,如何查询出time1,time2与s1,s2有交集的记录
比如:time1的值是2012-04-01,time2的值是2012-04-10
如果s1的值是2012-03-01,s2的值是2012-03-05,那么这两个时间段是没有交集
如果s1的值是2012-03-01,s2的值是2012-04-05,那么这两个时间段是有交集的
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
我腫了 2012-05-14
  • 打赏
  • 举报
回复

--有一个表A,字段:id,time1,time2
--现在有一个查询条件,时间字段s1,s2,如何查询出time1,time2与s1,s2有交集的记录
--比如:time1的值是2012-04-01,time2的值是2012-04-10
--如果s1的值是2012-03-01,s2的值是2012-03-05,那么这两个时间段是没有交集
--如果s1的值是2012-03-01,s2的值是2012-04-05,那么这两个时间段是有交集的

SELECT 1 FROM A
WHERE (time1 between s1 and s2)
or (time2 between s1 and s2)
人生无悔 2012-05-14
  • 打赏
  • 举报
回复

select * from A
where (s1 between time1 and time2)
or (s2 between time1 and time2)
or (time1 between s1 and s2)
  • 打赏
  • 举报
回复

select * from test
where (s1 between time1 and time2) or (s2 between time1 and time2)
  • 打赏
  • 举报
回复
select *
from tb
where time1<s2
panzi667 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code

select * from test
where (s1 between time1 and time2) or (s2 between time1 and time2)
[/Quote]

这个我测试咯,符合我的要求,谢谢!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧