转自:https://blog.csdn.net/qq_29410905/article/details/80713879
描述一个时间戳查询要注意的问题。
一个简单的时间戳查询,一般sql我们是这样写的。
<if test=" startTime!=null and startTime!=''">
AND s.consumeTime >= #{startTime}
</if>
<if test=" endTime!=null and endTime!=''">
AND s.consumeTime <= #{endTime}
</if>
但是当开始时间和结束时间为同一天的时候,查询结果为空。
所以说sql还是有点问题,优化一下sql如下:
<if test=" startTime!=null and startTime!=''">
AND s.consumeTime >= CONCAT('','${startTime}',' 00:00:00')
</if>
<if test=" endTime!=null and endTime!=''">
AND s.consumeTime <= CONCAT('','${endTime}',' 23:59:59')
</if>
这个时候再查询,数据正常。