mysql日期 查询和模糊查询的两种方法

日期查询(查询在某个日期之前的)

 <![CDATA[  and DATE_FORMAT(o.actual_delivery_date, '%Y-%m-%d') >= DATE_FORMAT(#{deliveryStart}, '%Y-%m-%d')  ]]>

查询当天的

 <![CDATA[  and DATE_FORMAT(o.actual_delivery_date, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')  ]]>

模糊查询
方法1:

SELECT * FROM `hos_register_log` WHERE pat_user_id LIKE '%32%'

方法2:

AND o.bill_no LIKE CONCAT('%', #{billNo}, '%')

区别:
对于mysql 的 like 而言,一般都要用 like concat() 组合,可以防止sql注入

所以用未注释掉的呢种方式会比较好,不推荐直接用like的方式 。

        like concat('%',#{billNo,jdbcType=VARCHAR},'%')

        concat函数:
           第一个参数 ,就是'%',其中%后边可以加上一些常量字符比如  。
           第二参数,基本上就是传递过来的参数 。
           第三个参数,是结尾的 '%', %前边可以加一定的常量字符比如   。

你可能感兴趣的:(java,后端)