根据业务需求对时间进行条件筛选时,勾选同一天时间出现筛选不出结果的现象,可以从sql解决问题。
也适用于入参为String类型的时间格式字符串。如下图用户选择时间区间
此时入参为
list?startTime=2022-08-08&endTime=2022-08-08
同时适用于入参为Date类型的时间格式
list?startTime=2022/08/10&endTime=2022/08/10
直接上sql代码
<if test="startTime != null and startTime != ''"><!-- 开始时间检索 -->
AND date_format(create_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
</if>
<if test="beginTime != null and beginTime != ''">
and hoi.create_time >= concat(#{beginTime,jdbcType=VARCHAR}, " 00:00:00")
</if>
<if test="endTime != null and endTime != ''">
and hoi.create_time <= concat(#{endTime,jdbcType=VARCHAR}, " 23:59:59")
</if>