当选择日期都为2022-02-09时去做筛选条件,是没有数据的,这里给后端传的参数是“2022-02-09 00:00:00”,“2022-02-09 00:00:00”,这样给到的筛选范围很是狭窄。因为后端代码写的是精确到秒
下面展示一些 错误写法
。
后端代码写的是精确到秒
// 后端代码写的是精确到秒---错误写法
<if test="applyStartTime != null and applyEndTime != null">
<![CDATA[
and DATE_FORMAT(t.apply_time
, '%Y-%m-%d %H:%i:%s') >= DATE_FORMAT(#{applyStartTime}
, '%Y-%m-%d %H:%i:%s')
and DATE_FORMAT(t.apply_time
, '%Y-%m-%d %H:%i:%s') <= DATE_FORMAT(#{applyEndTime}
, '%Y-%m-%d %H:%i:%s')
]]>
</if>
下面展示一些 正确代码片
。
可以只精确到天数就可以
<if test="applyStartTime != null and applyEndTime != null">
<![CDATA[
and DATE_FORMAT(t.apply_time
, '%Y-%m-%d') >= DATE_FORMAT(#{applyStartTime}
, '%Y-%m-%d')
and DATE_FORMAT(t.apply_time
, '%Y-%m-%d') <= DATE_FORMAT(#{applyEndTime}
, '%Y-%m-%d')
]]>
</if>