like模糊查询,和大小写,去空

like模糊查询,和大小写,去空

用 like查询最好用#这样在输入文字参数的时候会自动加上''就不会报错。(字段太多来源复杂直接用map装,其也相当于一个对象,前段EL表达式直接类似对象访问)

  <select id="getWhLogList" parameterType="map" resultType="map">

  select a.*,c.*

  from SCM_EGESYSLOG a left join opm_user b on a.operid=b.id left join TB_CUS_MARK c on b.organid=c.market_key where 1=1

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

  and c.market_key=#{organId} and c.market_key is not null

  </if>

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

  and type=#{type}

  </if>

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

  and ( (lower(trim(operDesc))  like '%'||lower(trim(#{key}))||'%') or (lower(trim(operName)) like '%'||lower(trim(#{key})))||'%' )

  </if>

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

  and operDate <![CDATA[>=]]> to_date(#{begindate},'yyyy-mm-dd hh24:mi:ss')

  </if>

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

  and operDate <![CDATA[<=]]> to_date(#{endDate},'yyyy-mm-dd hh24:mi:ss')

  </if>

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

   and lower(trim(operId))=lower(trim(#{userID})) 

  </if>

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

   and lower(trim(operName))  like '%'||lower(trim(#{userName}))||'%'

  </if>

  </select>

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2341823