MySQL之模糊查询特殊字符处理方式

 更新时间:2023年08月31日 17:06:46   作者:完美明天cxp  
这篇文章主要介绍了MySQL之模糊查询特殊字符处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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;
    }
}

MySQL模糊查询时无法匹配中文的解决

问题描述

在开发中遇到了一个问题,就是在使用Text文本框当作筛选条件进行模糊查询时,无法匹配text文本框的中文字符,但是英文和数字都可以正常筛选,于是怀疑是哪里的配置文件配置没有加上UTF-8。

解决方案

通过查看修改两个配置文件解决了这个问题。

1.查看数据库连接的配置文件在你的项目下找到连接数据库的配置文件,一般为 url=jdbc…形式,

如下文件:

在你的项目名称,也就是?后面,查看是否有加上了UTF-8

2.找到你的tomcat 安装位置,在安装位置的conf文件夹下找到一个名为 server.xml的文件,打开修改。

如上图,查看你是否加上了 URIEncoding=“UTF-8” 。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL中的常用函数

    MySQL中的常用函数

    这篇文章主要介绍了MySQL中的常用函数的相关资料,需要的朋友可以参考下
    2016-08-08
  • MySQL 获得当前日期时间 函数

    MySQL 获得当前日期时间 函数

    这篇文章主要介绍了MySQL 获得当前日期时间 函数 非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-07-07
  • 详解MySQL存储过程的创建和调用

    详解MySQL存储过程的创建和调用

    这篇文章主要为大家介绍了MySQL存储过程的创建和调用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Mysql 5.7.17 解压版(ZIP版)安装步骤详解

    Mysql 5.7.17 解压版(ZIP版)安装步骤详解

    MySQL 社区版 5.7.17 发布了,MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品,是最流行的关系型数据库管理系统。下面这篇文章主要介绍了Mysql 5.7.17 解压版的安装步骤,并且介绍了可能会遇到的坑,需要的朋友可以参考下。
    2017-01-01
  • 定时备份mysql, 定时切割nginx access log的方法

    定时备份mysql, 定时切割nginx access log的方法

    定时备份mysql, 定时切割nginx access log的方法,需要的朋友可以参考下。
    2011-09-09
  • mysql查询条件not in 和 in的区别及原因说明

    mysql查询条件not in 和 in的区别及原因说明

    这篇文章主要介绍了mysql查询条件not in 和 in的区别及原因说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 日常收集整理常见的mysql sql技巧

    日常收集整理常见的mysql sql技巧

    本篇内容是小编日常收集整理常见的mysql sql技巧,对大家学习mysql sql技巧相关内容有所帮助,感兴趣的朋友一起学习吧
    2015-12-12
  • 详解MySQL InnoDB存储引擎的内存管理

    详解MySQL InnoDB存储引擎的内存管理

    这篇文章主要介绍了详解MySQL InnoDB存储引擎的内存管理,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-04-04
  • Ubuntu自启动Mysql的三种方式

    Ubuntu自启动Mysql的三种方式

    本文给大家介绍ubuntu自启动mysql的三种方式,一种方法通过执行命令,也是最简单的方法,第二种方法是使用sysv-rc-cont工具,第三种方法是使用chkconfig工具,关于以上三种方式的详解请看下文
    2015-10-10
  • 跳槽必备之你设计索引的原则是什么?怎么避免索引失效?

    跳槽必备之你设计索引的原则是什么?怎么避免索引失效?

    索引的设计可以遵循一些已有的原则,创建索引的时候请尽量符合这些原则,便于提升索引地使用效率,更高效地使用索引。今天给大家介绍跳槽必备之你设计索引的原则是什么?怎么避免索引失效?感兴趣的朋友一起看看吧
    2021-05-05

最新评论