SQL 日期筛选的两种方式

主要解决的是后一天的问题~容易漏掉最后一天~第一种方法,拼接String,第二种方法直接在最后一天加一天

第一:

     

<if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
and CREATETIME between #{beginDate} and CONCAT(#{endDate}, ' 23:59:59')
</if>

第二:
<if test="startTime != null and startTime != '' ">
AND CREATETIME &gt;= DATE_FORMAT(#{startTime,jdbcType=VARCHAR}, '%Y-%m-%d')
</if>
<if test="endTime != null and endTime != '' ">
AND CREATETIME &lt; DATE_ADD(DATE_FORMAT(#{endTime,jdbcType=VARCHAR}, '%Y-%m-%d'), INTERVAL 1 DAY)
</if>

原文地址:https://www.cnblogs.com/kangds/p/5768296.html