会议室预约系统-检验是否被预约核心SQL

会议室预约时,判断能否被预约,即查询是否已经有预约记录,存在不能被预约。

s,e;表示已经预约的开始结束时间;

ns,ne,表示表单提交的预约时间;

只需要(ns,ne)与(s,e)区间没有交集,可以被预约;

ns<s,ne<s; 没有交集

ns<s,ne>s;有交集

s<=ns <e;有交集

ns>=e;没有交集

数据库中查询有交集,大于0;存在交集无法预约;

<select id="selectBuiMeetingRecordExist" parameterType="BuiMeetingRecord" resultType="java.lang.Integer">

select count(*) from omp_bui_meeting_record

where bui_id = #{buiId} and

( #{startTime} &lt; start_time and start_time &lt; #{endTime})

or

(start_time &lt;= #{startTime} and #{startTime} &lt; end_time)

</select>

mybatis中比较运算符需要转义

相关推荐
风哥2号18 小时前
数据库教程FGMT13‑Oracle性能优化之数据仓库与分区表
数据库·oracle·性能优化
子非鱼a18 小时前
【WEB】[GXYCTF2019]BabySQli
sql
程序员清风18 小时前
FastAPI 入门:用 Python 快速开发现代后端服务
python·oracle·fastapi
Zenova EdgeOS18 小时前
工业网关数据持久化:从同步到 WAL 的工程实战
网络·数据库·oracle
oradh21 小时前
Oracle UNDO 数据文件丢失处理(案例一)
数据库·oracle
El Shaddai.plus21 小时前
达梦数据库的执行计划操作符介绍
数据库·oracle
todoitbo1 天前
SQL Server数据库迁移:V9R4C019 如何接住存量 T-SQL 批处理
数据库·sql·国产数据库
写后端的胖头鱼1 天前
【高频面试题】SQL 查询慢怎么排查
数据库·sql·mysql·oracle·慢查询·高频面试题
风哥2号1 天前
数据库教程FGMT20‑Oracle容灾体系架构与数据库升级迁移方案
数据库·oracle·架构
风哥2号1 天前
数据库教程FGMT19‑Oracle多租户容器架构与新特性总结
数据库·oracle·架构