条件查询 日期区间

需求描述:做条件检索的时候,经常会给出两个日期区间,点击查询的时候,查询在这个区间之内的数据

解决关键:其实只要后台获取到这两个日期字符串,在sql中如何把日期字符串转换为可以用来比较的date类型的日期字符串,这个小东西,我在网上找了好久,终于给我找到了。。。真不容易~~~

代码:

//html代码
<div class="col-md-6">
<label class="control-label flex" style="margin-top: 10px;">
创建日期:
</label>
<input type="text" name="start" id="start" />至
<input type="text" name="end" id="end" />
</div>

//mapper里的sql <select id="queryXX" resultMap="XXResultMap">
select * from xxtable
where 1=1 <if test="start!= null and start != ''">
<![CDATA[ and STR_TO_DATE(create_date,'%Y-%m-%d') >= STR_TO_DATE(#{start},'%Y-%m-%d') ]]>
</if>
<if test="end!= null and end != ''">
<![CDATA[ and STR_TO_DATE(create_date,'%Y-%m-%d') <= STR_TO_DATE(#{end},'%Y-%m-%d') ]]>
</if> </select>

总结:之所以用大于等于,小于等于,是考虑到用户只输入了一个值的情况

posted @ 2018-10-10 13:46  ジ绯色月下ぎ  阅读(850)  评论(0编辑  收藏  举报