首页
学习
活动
专区
工具
TVP
发布

MyBatis模糊查询特殊字符无效问题

在使用LIKE关键字进行模糊查询时,“%”、“_”和“[]”单独出现时,会被认为是通配符。可以通过以下2种方式解决。

一. 在mybatis的mapper文件中,在like语句后面加上ESCAPE,告诉数据库转义字符为"/"

二. MySQL使用内置函数来进行模糊搜索(locate()等)

使用locate()

select `name` from `user` where locate('keyword', `condition`)>0

找到返回的结果都大于0,没有查找到返回0;

使用instr()

select`name` from `user` where instr(`condition`, ‘keyword’ )>0

唯一不同的是查询内容的位置不同

使用position()

select`name` from `user` where position(‘keyword’ IN `condition`)

使用find_in_set()

find_in_set(str,strlist),strlist必须要是以逗号分隔的字符串

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191110A0I9IH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券