mybatis中动态sql时between 0 and 0不识别

前几日开发了一个近几日的需求,当时想的是:那不就是当前日期减去数据库日期等于几吗,比如今日就是0,近1天就是今天昨天,然后完成接口后测了一下大概内容就没去管它了,等前端对接完发现近3日和近7日都没问题,但是今日出现了问题,我拿着这个sql去数据库试了一下

select 
	xxx 
from table
where
<if test="map.days!=null and map.days!='' ">
     and datediff(current_date(),makedate) between 0 and #{map.days}
</if>

把参数带入到这个sql后,是正常显示的,没出问题,但是在mybatis中却出现了所有的内容,百思不得其解,最后觉得应该是mybatis的问题,前端让我用1试试,后面将这个sql改成了

select 
	xxx 
from table
where
<if test="map.days!=null and map.days!='' ">
     and datediff(current_date(),makedate)+1 between 1 and #{map.days}
</if>

一试居然好了,后面去查了一下原来0在mybatis中是不识别的,以后多加注意(ps:如果是近几日这种的最好还是让前端传日期,方便后期维护及使用索引)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值