mybatis中的多字段模糊查询
有一个字段输入查询内容的全称时查不到,领导问我%A%这个格式的模糊查询,如果查询的内容为A时,无法查询到,我郁闷了一把,经过查询,%在正则表达式中是匹配0个或多个字符。请看在下的sql<select id="searchFigureData" resultType="Map">selecttt.*from(selectt.*, dft.name as typeNamefrom(sele
·
有一个字段输入查询内容的全称时查不到,领导问我%A%这个格式的模糊查询,如果查询的内容为A时,无法查询到,我郁闷了一把,经过查询,%在正则表达式中是匹配0个或多个字符。
请看在下的sql
<select id="searchFigureData" resultType="Map">
select
tt.*
from
(select
t.*, dft.name as typeName
from
(select
df.id, df.type, df.module, df.sub_type, df.card as cardName,
if(df.applicant='null', '', df.applicant) as applicant,
df.apply_date as applyDate, df.fig_num as figNum,
df.pro_name as pName, dt.name as subName,
if(df.p_id='null', '', df.p_id) as pId
from
dproject_figurenum df
left join
dproject_figurenum_type dt
on dt.id = df.sub_type
) as t
left join
dproject_figurenum_type dft
on
dft.id = t.type
) as tt
<where>
<if test="content != '' and content != null">
applicant like CONCAT("%", #{content}, "%")
OR typeName like CONCAT("%", #{content}, "%")
OR subName like CONCAT("%", #{content}, "%")
OR pName like CONCAT("%", #{content}, "%")
OR pId like CONCAT("%", #{content}, "%")
OR figNum like CONCAT("%", #{content}, "%")
OR applyDate like CONCAT("%", #{content}, "%")
OR cardName like CONCAT("%", #{content}, "%")
OR module like CONCAT("%", #{content}, "%")
</if>
</where>
order by
tt.figNum DESC, tt.applyDate DESC
</select>
但是发现少写了一个查询字段,最后添上了。。。完美。。。。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)