mysql实⾏模糊查询⼀个输⼊值匹配多个字段和多个输⼊值匹配⼀个字段mysql 实⾏模糊查询⼀个输⼊值匹配多个字段
MySQL单表多字段模糊查询可以通过下⾯这个SQL查询实现为啥⼀定要150字以上真的⿇烦还不让贴代码了
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%’
实例:
select * from mcode_specific_information where 1=1
<if test="typeID!=null and typeID !=''">
and typeID like "%"#{typeID}"%"
</if>
<if test="typeName!=null and typeName !=''">
and typeName like "%"#{typeName}"%"
</if>
<if test="entryUnit!=null and entryUnit !=''">
and entryUnit like "%"#{entryUnit}"%"
</if>
<if test="alias!=null and alias !=''">
and CONCAT(`alias`,`alias1`,`alias2`) like "%"#{alias}"%"
</if>
<if test="alias1!=null and alias1 !=''">
and CONCAT(`alias`,`alias1`,`alias2`) like "%"#{alias1}"%"
</if>
<if test="alias2!=null and alias2 !=''">
and CONCAT(`alias`,`alias1`,`alias2`) like "%"#{alias2}"%"
</if>
当⼀个字段想模糊查询出多个字段的时候,正常情况下⼀般会这么作
1 select * from a where name like 'a%' or name like 'b%' ....or ...;
但是上⾯的情况只能对应少量的模糊查询值,过多之后再后台开发的时候会出现⾮常⿇烦的sql语句拼接
这时我们可以采⽤正则表达式进⾏匹配
1 select * from a where name regexp'a|b|...';
regexp like
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论