zoukankan      html  css  js  c++  java
  • oracle SQL 进行时间冲突判断

    oracle SQL 进行时间冲突判断

    背景:写一个预约模块,主要的限制就是时间限制,有冲突的时间段就不能进行预约

    设数据库中的时间为A开始,A结束
    设要判断的时间为B开始,B结束
    则判断有在B开始时间大于等于A结束时间时无冲突,在B结束时间小于A开始时间的时候无冲突
    对两种情况取反以后就可以得出与A时间段有冲突的部分,进而查询出相关内容
    且只有在使用的测试项目相同才会判断,没有相同的记录就无所谓了
    则在查询内容为null时,说明没有冲突,notnull时,有冲突,且输出冲突部分

    SELECT  *
    FROM  A a
    WHERE ID IN ('传入的参数') AND
    NOT ((TO_DATE('2021-11-06 00:00:00','YYYY-MM-DD HH24:MI:SS') >= END_TIME)
    or (START_TIME >= TO_DATE('2021-11-07 00:00:00','YYYY-MM-DD HH24:MI:SS')))
    
    您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接
  • 相关阅读:
    索引有什么用?
    数据类型的优化策略?
    MySQL的锁策略有什么?
    行锁
    Innodb_lock_waits
    Innodb_locks表
    软件安装笔记
    Spring Boot学习笔记
    AI学习总结
    笔试面试题总结
  • 原文地址:https://www.cnblogs.com/jokingremarks/p/15508854.html
Copyright © 2011-2022 走看看