mybatis 中针对指定区间内的时间的查询

    今天在做自己的项目的过程中碰到一个有关于指定世家区间你爹的SQL的查询问题,针对这个问题一开始我是并没有放在我的眼里,心里想着无非就是一个简单的查询而已,然而真正等到我去实现这个功能时,才发现我把这个问题想的过于简单了,因为在mybatis 中针对指定区间内的SQL语句的查询是有一定的要求的,特别是要根据你的时间字段的 不认同来进行相关的操作。
    首先在查询之前,先查看一下你的数据库中有关于时间类型的字段的类型,如果你的时间字段的类型为varchar类型,那么好的你必须按照我下面书写的规则在mybatis 中进行相关的操作:

     <if test="beginTime!=null and beginTime!=''">
      AND tm.add_time
&gt;=#{beginTime}

       </if>
       <if test="endTime!=null and endTime!=''">
          AND tm.add_time
&lt;=#{endTime}

        </if>
其中tm_add_time 为你数据库中你建的表的字段,而beginTime和endTime 分别为你指定的区间内的上限时间和下线时间。
 如果你的字段的类型为datetime或者为timestamp的话,那么接下来的话你就必须按照我下面的规则来进行相关的操作了。
< if test ="beginTime!=null and beginTime!=''" >
   
<![CDATA[    and DATE_FORMAT(tr.add_time, '%Y-%m-%d')>=  DATE_FORMAT(#{beginTime}, '%Y-%m-%d')   ]]>
</ if >
< if test ="endTime!=null and endTime!=''" >
   
<![CDATA[   and DATE_FORMAT(tr.add_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d')    ]]>
</ if >
其中的beginTime和endtime 分别为指定时间的上限和下限。

    

猜你喜欢

转载自blog.csdn.net/qq_38061755/article/details/79826532
今日推荐