会议室预约系统-检验是否被预约核心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中比较运算符需要转义

相关推荐
焱焱枫5 小时前
Oracle获取执行计划之10046 技术详解
数据库·oracle
双力臂4046 小时前
MyBatis动态SQL进阶:复杂查询与性能优化实战
java·sql·性能优化·mybatis
A__tao8 小时前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql
A__tao9 小时前
SQL 转 Java 实体类工具
java·数据库·sql
没有名字的小羊9 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
羊小猪~~14 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
先睡20 小时前
优化MySQL查询
数据库·sql
小张是铁粉21 小时前
oracle的内存架构学习
数据库·学习·oracle·架构