700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MySQL模糊查询特殊字符处理

MySQL模糊查询特殊字符处理

时间:2023-03-03 17:46:34

相关推荐

MySQL模糊查询特殊字符处理

一、背景

模糊查询字段输入一个%,查出了所有数据

SELECT * FROM region_info WHERE region LIKE '%%%';

目标结果应该返回region属性包含%的结果集:

然而(部分结果集):

二、原因

MySQL有一些特殊字符需要进行转义,模糊查询中%、_是属于匹配规则特殊字符,单引号'和转义字符\也需要处理

三、解决办法

需要查询内容进行转义,如:

SELECT * FROM region_info WHERE region LIKE '%\%%';

正确结果集:

代码中查询,处理查询内容工具类:

public class MySQLUtil {/*** sql特殊字符转义** @param content 转义内容* @return 转义后内容*/public static String escape(String content) {if (content != null && !content.trim().isEmpty()) {content = content.replaceAll("\\\\", "\\\\\\\\");content = content.replaceAll("_", "\\\\_");content = content.replaceAll("%", "\\\\%");content = content.replaceAll("'", "\\\\'");}return content;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。