随笔 - 435  文章 - 0  评论 - 111  阅读 - 62万 

sql:

#查询的时间段
set @protect_from ='2022-12-27 00:00:00';
set @protect_to='2022-12-28 00:00:00';

#日程表todo里的start,end是日程的时间段
select * from info_todo where start BETWEEN @protect_from and @protect_to 
OR (start<=@protect_from and end>=@protect_from)
#也可以这样写 or @protect_from between `start`  and `end` 

java 的MyBatis-Plus

LambdaQueryWrapper 写法

            if (ObjectUtil.isNotNull(todo.getStart()) && ObjectUtil.isNotNull(todo.getEnd())) {
                queryWrapper
                        .between(InfoTodo::getStart,todo.getStart(),todo.getEnd())
                        .or(
                                i->i.le(InfoTodo::getStart, todo.getStart())
                                .ge(InfoTodo::getEnd, todo.getStart())
                        );
            }

 

 

posted on   Gu  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示