迷途小书童_Java 2022-09-26 14:42 采纳率: 100%
浏览 85
已结题

关于#mysql#的问题:数据库表中,order_status(工作状态)字段,还有一个字段是updateTime(更新时间)字段

问题遇到的现象和发生背景

数据库表中,order_status(工作状态)字段,有4种状态(0,1,2,3),还有一个字段是updateTime(更新时间)字段

我想要达到的结果

查询全部状态,遇到order_status= 3 时,判断updateTime是否比现在小于一天,如果是则保留数据,否则不显示。

在不修改下面的代码添加:

<sql id="selectDeptVo">
        select order_id, order_uid, order_salename,order_customer, order_pic, order_dept, order_deadline,start_time,end_time, order_status, order_describe, update_time, create_time from order_dept
    </sql>

    <select id="selectDeptList" parameterType="Dept" resultMap="DeptResult">
        <include refid="selectDeptVo"/>
        <where>  
            <if test="orderUid != null "> and order_uid = #{orderUid}</if>
            <if test="orderSalename != null  and orderSalename != ''"> and order_salename like concat('%', #{orderSalename}, '%')</if>
            <if test="orderCustomer != null  and orderCustomer != ''"> and order_customer like concat('%', #{orderCustomer}, '%')</if>
            <if test="orderPic != null  and orderPic != ''"> and order_pic = #{orderPic}</if>
            <if test="orderDept != null  and orderDept != ''"> and order_dept = #{orderDept}</if>
            <if test="orderDeadline != null "> and order_deadline = #{orderDeadline}</if>
            <if test="startTime != null "> and start_time = #{startTime}</if>
            <if test="endTime != null "> and end_time = #{endTime}</if>
            <if test="orderStatus != null  and orderStatus != ''"> and order_status = #{orderStatus}</if>
            <if test="orderDescribe != null  and orderDescribe != ''"> and order_describe = #{orderDescribe}</if>
        </where>
    </select>


  • 写回答

8条回答 默认 最新

  • 一把编程的菜刀 2022-09-27 09:55
    关注

    SELECT * FROM order_dept WHERE order_status != 3 or (order_status = 3 and DATEDIFF(updateTime,NOW())=-1)
    直接用SQL语句就查出来了,干嘛还要判断?

        <if test="orderStatus != null  and orderStatus == 3"> and order_status = #{orderStatus} and dateDiff(updateTime ,NOW()) <= 1</if>
    
    
    

    换成

    <if test="orderStatus != null  "> and order_status = #{orderStatus} and (order_status != 3 or (order_status = 3 and dateDiff(updateTime ,NOW()) <= 1)</if>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 修改了问题 9月26日
  • 赞助了问题酬金10元 9月26日
  • 展开全部

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?