mybatis时间段查询


描述一个时间戳查询要注意的问题。

一个简单的时间戳查询,一般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>

这个时候再查询,数据正常。

猜你喜欢

转载自blog.csdn.net/qq_29410905/article/details/80713879