前端一个字段模糊匹配多个数据库字段

本文探讨了在前端输入框中实现对数据库多个字段进行模糊匹配的方法。针对使用OR操作符导致已删除数据被误匹配的问题,提出了一种解决方案,通过绑定变量和CONCAT函数实现了精确的多字段匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于模糊匹配多个字段

需求:前端一个输入框要匹配多个数据库字段。
网上找到的方法是:

select * from table where 1=1 and is_delete = 0
<if test="keyword !=null ">
      name like CONCAT('%','#{keyword}','%') OR
      age like CONCAT('%','#{keyword}','%') 
</if>

但是这里会有一个问题,就是因为用来or做条件查询导致 is_delete= 0 好像失效了,会把已经删除了数据也查出来。
看来不能用or做条件查询。
解决办法:

select * from table where 1=1 and is_delete = 0
<if test="keyword !='' and keyword !=null">
    <bind name="pattern" value="'%' + keyword+ '%'"/>
    and CONCAT(name,age) like #{pattern}
</if>

这样就解决一个字段模糊匹配数据字段了~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值