前端开始和结束时间只传年月日,导致查询不到末尾那天的数据怎么办

方案一:前端传入精确时间

createTimeStart 传入:2025-12-31 00:00:00
createTimeEnd 传入:2025-12-31 23:59:59

方案2:后端修改SQL逻辑(推荐)

<if test="param.createTimeStart != null and param.createTimeStart !=''">
    AND dui.create_time >= CONCAT(#{param.createTimeStart}, ' 00:00:00')
</if>
<if test="param.createTimeEnd != null and param.createTimeEnd != ''">
    AND dui.create_time <= CONCAT(#{param.createTimeEnd}, ' 23:59:59')
</if>

方案3:使用日期函数处理

<if test="param.createTimeStart != null and param.createTimeStart !=''">
    AND DATE(dui.create_time) >= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null and param.createTimeEnd != ''">
    AND DATE(dui.create_time) <= #{param.createTimeEnd}
</if>

我感觉方案3也挺好

posted @ 2026-01-07 15:59  小胡666  阅读(3)  评论(0)    收藏  举报
39
0