两个时间段比较的六种情况,以及交集、并集、补集简要sql语句示例
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
〇、两时间段比较的全部情况总共有如下图中的六种情况: 下文将根据这六种情况进一步操作。 注意,图中说的动态和固定两时间段,就是两个普通时间段,不区分主次,仅用作帮助理解。 一、判断两个时间段是否有交叉(交集)正常情况下,就是图中的 2、3、4、5 四种有交叉的情况。如果直接通过这四种情况判断的话,就需要四个判断条件组合,过于复杂,本文略过。 如果通过逆向思维的话,就只需要判断 1、6 两种情况。当然推荐使用逆向思维,判断的情况比较少,也易于理解,下边详细介绍下。 判断两时间段不交叉的条件:
那么,就可以通过取反,得到两时间段有交叉的条件:
二、取两个时间段的交叉部分(交集)前提条件:通过了有交叉判断。也就是包含 2、3、4、5 四种情况。 然后,就需要分别比较两个时间段的开始时间和结束时间:
三、取两个时间段并集取并集也需要分两种情况,就是是否有交叉。
直接将两个时间段进行‘或’运算即可。
此种情况也是分别比较两个时间段的开始时间和结束时间,但是取值和上一章节中刚好相反,:
四、取两个时间段的补集首先,什么是补集?简单的示意图如下: (其中,全集‘集合 B’包含‘集合 A’,那么图中灰色部分就是‘集合 A’的补集) 所以,求补集的前提条件就是两个时间段的有包含关系,也就是情况 3、4。
如上边的查询语句,可以得到四个时间,分别组成两个时间段,再进行后续个性化操作。
如上边的查询语句,可以得到四个时间,分别组成两个时间段,再进行后续个性化操作。 转自https://www.cnblogs.com/hnzhengfy/p/18471566/DataStructure_TimeInterval 该文章在 2025/1/13 11:23:09 编辑过 |
关键字查询
相关文章
正在查询... |