前端开始和结束时间只传年月日,导致查询不到末尾那天的数据怎么办
方案一:前端传入精确时间
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也挺好

浙公网安备 33010602011771号