mybatis date类型比较,起始时间或结束时间。

如果数据库是时间类型而且你传的值也是时间类型,可以直接比较。

2023-2-17 更新

可以起始时间和结束时间一起判断

             <if test="startTime != null and endTime != null">
                and OPTIME &gt;= #{startTime} and OPTIME &lt;=  #{endTime}
            </if>

 ——————————————————————————————————————————

第一种方法:    把转义字符">"和"<"替换掉.

            <if test="endTime != null">
                and a.PUBLISH_DATE &lt;= #{endTime,jdbcType=DATE}
            </if>
            <if test="startTime != null">
                and a.PUBLISH_DATE &gt;= #{startTime,jdbcType=DATE}
            </if>

&lt;=    <=         
&gt;=    >=

第二种方法:     使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析 

<if test="startTime != null ">
    AND <![CDATA[ order_date >= #{startTime,jdbcType=DATE}  ]]>
</if>
<if test="endTime != null ">
    AND <![CDATA[ order_date <= #{endTime,jdbcType=DATE}  ]]> 
</if>

注意date类型不用判断="",要不然会报错的。

<if test="startTime != null  and startTime != ''">

并且jdbcType=DATE,参数中的date格式为yyyy-mm-dd,不带时分秒,查询到某天这种。

如果需要精确到时分秒,需要将jdbcType设置成TIMESTAMP。

<if test="creationDate != null">
      <![CDATA[ AND DATE_FORMAT(a.creation_date, '%Y-%m-%d') = DATE_FORMAT(#{creationDate,jdbcType=DATE},'%Y-%m-%d')]]>
</if>

有格式的日期比较,可以使用date_format方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值