转自: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>
这个时候再查询,数据正常。
本文探讨了在使用时间戳进行数据库查询时遇到的一个常见问题,即当开始时间和结束时间为同一天时,查询可能返回空结果。文章提供了一个SQL优化方案,通过调整时间范围为当天的起始和结束时刻,确保了查询的准确性。

4134

被折叠的 条评论
为什么被折叠?



