工作备份 Mysql SQL时间区间判断

Mysql SQL时间区间判断 预警 未预警 已过期

1.未预警:比如送外卖:外卖收到的不算,没开始送的不算
配货完成的 或者 当前时间小于,期望到达时间减去预警时间
当天时间 < 预期时间 -预警时间
当前是时间是 new Date ;
期望到达时间在数据库取出
预警时间前端传进来
比如当前时间是 2021 8 14 ,期望到达时间是2021 8 20,预警时间是5天, 在预警时间之前的不算预警,也就是 2021 8 20 -5 ,2021 8 15,之前的都不算
我这里的业务预警时间是小时 ,时间使用当前时间去和数据中的比较
当前时间比,数据库中预期到达时间减去预警时间,小就是未预警
时间计算使用Mysql的方法给一个负数返回这个时间之前的时间,返回数据库中预期到达时间-预警时间

		<if test="null != param2.warningStatus and param2.warningStatus == 1">
		and (mit_work_order_batch.warehousing_status =  配货完成的
		or #{当前时间}<DATE_ADD(预期到达时间,INTERVAL #{预警时间} hour))
        </if>
 			

2.预警: 外卖:没有收到,并且还是定时宝时间范围内
区间判断
(预期到达时间减去预警时间) < 当天时间 < 预期到达时间

        <if test="null != param2.warningStatus and param2.warningStatus == 2">
            and mit_work_order_batch.warehousing_status = 未配货  
            and DATE_ADD(预期到达时间,INTERVAL #{预警时间} hour)<#{当天时间}
            and #{当天时间}<预期到达时间
        </if>

3.已过期:外卖:没有收到,并且超时了
预期到达时间<#{当天时间}

        <if test="null != param2.warningStatus and param2.warningStatus == 3">
            and mit_work_order_batch.warehousing_status = 未配货  
            and 预期到达时间<#{当天时间}
        </if>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值