SQL 日期区间重叠判断

yyyy-MM-dd HH:mm:ss格式的数据, 多用于判断预约时间和每日排班冲突.
对于冲突的情况使用列举法有(前提:s<e, s'<e')

  • s' < e' < s < e: 新时间段在已有时间左边, 不包含, 情况1
  • s' < s < e' < e: 新时间段和已有时间左边有交集, 情况2
  • s < s' < e' < e: 新时间段在已有时间内, 被包含关系, 也即在已有时间段内部, 情况3
  • s < s' < e < e': 新时间段和已有时间右边有交集, 情况4
  • s' < s < e < e': 新时间和已有时间是是包含关系, 也即新时间段在已有时间段外部, 情况5
  • s < e < s' < e': 新时间段在已有时间右边, 不包含, 情况6
    除去开始和最后的不包含, 可以得到当s < e' 并且 e > s'时候两个时间端肯定有交集, 也即冲突.
posted on 2023-09-22 02:37  wakaka_wka  阅读(457)  评论(0编辑  收藏  举报