功能的需求就是列表的条件筛选的功能,就是页面上有什么区属,地址,时间(只根据年份来查),输入后点查询,列表展示相应的数据,现在用户要求就是时间要按照月份来查,并且还要是一个区间例如2021-04到2021-05;目前实现后,发现一个问题,如果时间区间是同一个时间比如2021-04到2021-04,但结果是查不到4月份的数据(数据库中是有4月份的数据),需要写成2021-04到2021-05才能查到4月的数据,在我贴图中的这个代码的基础之上做一下修改,实现当时间区间是同一个月时,就查一整个月的数据,望各位大佬指点一下,或者有什么其他更好的方法也行!!!!另,实现其实完全可以在前台直接将日期精确到日,这样sql也不用动;但是也本着学习的心态看看不用动前台,用sql怎么实现,望各位指点
<if test="(yearStart !='' and yearStart != null) and (yearEnd != '' and yearEnd != null)">
AND MAIN.CREATE_TIME BETWEEN to_date(#{yearStart},'yyyy-mm') AND to_date(#{yearEnd},'yyyy-mm')
</if>
用的是mybatis
TO_CHAR(create_time, 'YYYY-MM') = '2021-04'
4-5月份范围
create_time >= TO_DATE('2021-04-01', 'YYYY-MM-DD')
AND
create_time < TO_DATE('2021-06-01', 'YYYY-MM-DD')