zoukankan      html  css  js  c++  java
  • Mysql 查询时间段是否可用,查询时间段是否有交集

      最近遇到 类似, 会议室预订的模型,  基本上 是  会议室 + 时间段来检测是否被占用。

      其实思路比较简单 , 一开始的思路是 去查询 自己选择的时间段 与数据库已经存在的时间段匹配  是否 可用,这种实现太繁琐,而且思路貌似很混乱,

      后来简化思路:  只要查询自己选择的时间段  和 数据库里面的时间段 是否有交集 不就可以了么?

       逆向思维, 利器。

      以下 转自: https://blog.csdn.net/a312024054/article/details/76786739

    数据库的字段 start_time, end_time

    输入的字段 a,b

    第一种

    SELECT * FROM test_table
    WHERE
    (start_time >= a AND start_time <= b)
    OR (start_time <= a AND end_time >= b)
    OR (end_time >= a AND end_time <= b)
    

      


    第二种

    SELECT * FROM test_table
    WHERE
    NOT (
        (end_time < a)
        OR (start_time > b)
    )
    

      


    两种结果相同
    以上。

  • 相关阅读:
    Git标签
    Git管理修改和撤销修改
    Git删除文件
    Git解决冲突
    Git的stash功能
    Git管理分支
    Git的多人协作模式
    Git相关指令
    LC7 整数翻转 + LC9 回文数
    LC1 两数之和
  • 原文地址:https://www.cnblogs.com/taozi32/p/10039177.html
Copyright © 2011-2022 走看看