遇到了一个问题,插入时间数据的时候,虽然我希望保存的只是yyyy-MM-dd类型的时间数据,但是实际上,数据库会将其保存为精确的时间戳,在这种情况下,如果需要取某个日期范围内的数据时,在比较日期大小的时候,会出现头尾日期的数据取不到的问题。因此,将查询语句修改为:
select *
from t_user
WHERE
<if test="startTime != null" >
<![CDATA[ and DATE_FORMAT(t.create_time, '%Y-%m-%d') >= DATE_FORMAT(#{startTime}, '%Y-%m-%d')]]>
</if>
<if test="endTime != null" >
<![CDATA[ and DATE_FORMAT(t.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d')]]>
</if>