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

相关推荐
spring2997924 小时前
LangChain-08 Query SQL DB 通过GPT自动查询SQL
数据库·sql·langchain
l1t5 小时前
四种python工具包用SQL查询csv和parquet文件的方法比较
大数据·python·sql
V1ncent Chen5 小时前
SQL大师之路 10 连接基础
数据库·sql·mysql·数据分析
sevenlin5 小时前
MySQL数据库(SQL分类)
数据库·sql·mysql
gameboy0317 小时前
MySQL:基础操作(增删查改)
数据库·mysql·oracle
未来龙皇小蓝7 小时前
【MySQL-索引调优】06:最左匹配原则及优化
数据库·mysql·oracle·性能优化
lierenvip7 小时前
Spring Boot中Tomcat配置
spring boot·tomcat·firefox
Detachym7 小时前
InsightFlow 服务配置优化与部署实践
java·spring boot·tomcat·maven·状态模式·jar
代码派7 小时前
MySQL 慢 SQL 排查这件事,NineData 社区 VS DBeaver/ Navicat 技术分析
数据库·sql·mysql·navicat·数据库管理工具·dbeaver·数据库对比
荧光点星7 小时前
MySQL DQL小结与DCL
sql·mysql