MySQL之模糊查詢特殊字符處理方式
MySQL模糊查詢特殊字符處理
模糊查詢字段輸入一個%,查出了所有數(shù)據(jù)
SELECT * FROM region_info WHERE region LIKE '%%%';
目標結(jié)果應(yīng)該返回region屬性包含%的結(jié)果集:
然而(部分結(jié)果集):

原因
MySQL有一些特殊字符需要進行轉(zhuǎn)義,模糊查詢中%、_是屬于匹配規(guī)則特殊字符,單引號'和轉(zhuǎn)義字符\也需要處理
解決辦法
需要查詢內(nèi)容進行轉(zhuǎn)義,如:
SELECT * FROM region_info WHERE region LIKE '%\%%';
正確結(jié)果集:

代碼中查詢,處理查詢內(nèi)容工具類:
public class MySQLUtil {
/**
* sql特殊字符轉(zhuǎn)義
*
* @param content 轉(zhuǎn)義內(nèi)容
* @return 轉(zhuǎn)義后內(nèi)容
*/
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模糊查詢時無法匹配中文的解決
問題描述
在開發(fā)中遇到了一個問題,就是在使用Text文本框當作篩選條件進行模糊查詢時,無法匹配text文本框的中文字符,但是英文和數(shù)字都可以正常篩選,于是懷疑是哪里的配置文件配置沒有加上UTF-8。
解決方案
通過查看修改兩個配置文件解決了這個問題。
1.查看數(shù)據(jù)庫連接的配置文件在你的項目下找到連接數(shù)據(jù)庫的配置文件,一般為 url=jdbc…形式,
如下文件:

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

2.找到你的tomcat 安裝位置,在安裝位置的conf文件夾下找到一個名為 server.xml的文件,打開修改。

如上圖,查看你是否加上了 URIEncoding=“UTF-8” 。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能
我們在做項目或者數(shù)據(jù)分析時,經(jīng)常遇到這樣的需求:統(tǒng)計不同時間粒度下的數(shù)據(jù)分布情況,例如,每一天中每個小時網(wǎng)站的訪問量,某路口每半個小時通過的車輛數(shù)量等,下面給大家分享mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能,感興趣的朋友跟隨小編一起看看吧2024-04-04
centos7中如何利用crontab進行mysql定時備份
crontab是一個命令,常見于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令,下面這篇文章主要給大家介紹了關(guān)于centos7中如何利用crontab進行mysql定時備份的相關(guān)資料,需要的朋友可以參考下2022-02-02
MySQL?中MATCH?全文搜索關(guān)鍵字示例詳解
這篇文章主要介紹了MySQL?中MATCH?全文搜索關(guān)鍵字詳解,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-09-09
Navicat連接MySQL提示1045錯誤解決(重置MySQL密碼)
連接MySQL數(shù)據(jù)庫時難免會遇到1045錯誤,主要是因為用戶輸入的用戶名或密碼錯誤被拒絕訪問,如果不想重裝,需要找回密碼或者重置密碼,這篇文章主要給大家介紹了關(guān)于Navicat連接MySQL提示1045錯誤解決的方法,主要是重置MySQL密碼,需要的朋友可以參考下2023-04-04

