`
jinghuainfo
  • 浏览: 1535494 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

判断两个时间段是否相交

 
阅读更多

判断两个时间段是否相交



SQL中常常要判断两个时间段是否相交,该如何判断呢?比如两个时间段(S1,E1)和(S2,E2)。我最先想到的是下面的方法一。

方法一:(S1 BETWEEN S2 AND E2) OR (E1 BETWEEN S2 AND E2)。很好理解:一个时间段的开始时间S1在另一个时间中间(S2,E2),或者结束时间E1在另一个时间中间(S2,E2)。
这个方法比较繁琐,我们来看方法二.

方法二:本方法先考虑这两段时间什么情况下不相交,如下图:
-----+-----------------+-----------------+--------------+--------------

S1 E1 S2 E2

-----+-----------------+-----------------+--------------+--------------

S2 E2 S1 E1

无非两种情况:(S1,E1)段在(S2,E2)段前面和(S1,E1)段在(S2,E2)段后面。其对应的表达式为:(S2 > E1) OR (S1 > E2)。于是相交条件就是 NOT((S2 > E1) OR (S1 > E2))该式等价于


(S2 <= E1)AND (S1 <= E2)

这就是我们要的。

其实方法一和方法二的条件是一致的:
((S1 <= E2) AND (S1 >= S2)) OR ((E1 <= E2) AND (E1 >= S2))
=>((S1 <= E2) AND (S1 >= S2) ) OR ((S1 <= E2 ) AND (E1 >= S2)) (因为S1 <= E1)
<=> (S1 <= E2) AND ((S1 >= S2) OR (E1 >= S2))
=> (S1 <= E2) AND ((E1 >= S2 ) OR (E1 >= S2)) (因为 S1 <= E1)
<=>(S1 <= E2) AND (E1 >= S2)

参考文件
1.《SQL Server2005技术内幕:T-SQL程序设计》

分享到:
评论

相关推荐

    C# 判断时间段是否相交的实现方法

    1. 判断两个起止时间是否相交: public static bool IsTimeBetween(TimeSpan input, TimeSpan start, TimeSpan end, bool fromInclusice, bool toInclusive) { //...

    工程流体力学简答题.doc

    迹线是流场中一时间段某流体质点的运动轨迹。 9. 欧拉法和拉格朗日法是两种描述流动运动的方法。欧拉法是以流体空间点为研究对象;拉格朗日法是以流体质点为研究对象。 10. 量纲是物理量的单位,可以分为长度、...

    分布式数据库设计.pdf

    分布式数据库设计 分布式数据库设计 DDB设计的两个问题 1)分段 – 分割关系成"段" ;逻辑上 2)分配 – 将段置放到站点 ;物理存储上 ⽬标 – 优化响应时间/吞吐量/费⽤/… 分段元则 假若有全局关系R 被分段为⼦...

    excel的使用

    由于自定义格式中最多只有3个数字段,Excel规定最多只能在前两个数字段中包括2个条件测试,满足某个测试条件的数字使用相应段中指定的格式,其余数字使用第3段格式。如果仅包含一个条件测试,则要根据不同的情况来...

    汽车驾驶教程图解

     变速杆操作动作只有两个。换档时必须将离合器踩到底。  3、总结  操作变速杆时应注意以下几点:  1)将离合器一下踩到底。  2)手劲不要过大。  3)不必特意向身边推拉。  4)停车时,如果挂一档或倒档困难,...

    软件工程-理论与实践(许家珆)习题答案

    软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2) 软件生产率低,不能满足需要。 4. 什么是软件生存周期模型?它有哪些主要模型? 答:软件生存周期模型是描述软件开发过程中各种...

    山东潍坊奎文七年级下人教新课标期中考试试卷精选.doc

    24. 小东从 A 地出发以某一速度向 B 地走去,同时小明从 B 地出发以另一速度向 A 地而行,如图所示,图中的线段分别表示小东、小明离 B 地的距离(千米)与所用时间(小时)的关系。 知识点:函数的概念和应用。

    煤炭地址问题解析解答详情

    答1)整合接触是指上、下两套地层产状彼此平行,两者连续沉积,没有时间间断。这种接触关系是在地壳相对稳定下降、沉积区域的古地理环境未发生突出变化的情况下,较新沉积 物连续逐层地沉积在较老沉积物之上形成的 2...

    电焊工中级理论知识参考题(200题)

    A、2个 B、3个 C、4个 D、5个 11. 布氏硬度试验时,其压痕中心与试样边缘的距离应不小于压痕直径的( )。 A、10倍 B、2.5倍 C、4.5倍 D、5.5倍 12. 物体在力的作用下变形,力的作用卸除后,变形即消失,恢复到原来...

Global site tag (gtag.js) - Google Analytics