当前位置:   article > 正文

MySql多条件查询包含or,and条件会失效_mysql and 和or 一起用不起作用

mysql and 和or 一起用不起作用

场景:

多见于商品的多条件查询

 

原因:当mysql的WHERE语句中出现AND、OR时,AND 要么全部放在 OR 的前面,放在OR之后的AND条件将不会起作用。

怎么解决呢?

只要将你的or条件用()包起来,用作一个条件查询就可以了:

  1. <if test="null != param.searchParam and '' != param.searchParam">
  2. AND (sg.goods_name like concat('%', #{param.searchParam},'%')
  3. OR sg.pinyin like concat('%', #{param.searchParam},'%')
  4. OR sg.barcode like concat('%', #{param.searchParam},'%'))
  5. </if>
  6. <if test="null != param.unitId and '' !=param.unitId">
  7. AND (sg.unit_name = #{param.unitName} or sg.unit_id = #{param.unitId})
  8. </if>

 仅此记录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/730147
推荐阅读
相关标签
  

闽ICP备14008679号