MySQL之模糊查詢特殊字符處理方式
MySQL模糊查詢特殊字符處理
模糊查詢字段輸入一個%,查出了所有數(shù)據(jù)
SELECT * FROM region_info WHERE region LIKE '%%%';
目標(biāo)結(jié)果應(yīng)該返回region屬性包含%的結(jié)果集:
然而(部分結(jié)果集):
原因
MySQL有一些特殊字符需要進(jìn)行轉(zhuǎn)義,模糊查詢中%、_是屬于匹配規(guī)則特殊字符,單引號'和轉(zhuǎn)義字符\也需要處理
解決辦法
需要查詢內(nèi)容進(jìn)行轉(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文本框當(dāng)作篩選條件進(jìn)行模糊查詢時,無法匹配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)文章
QT連接Mysql數(shù)據(jù)庫的詳細(xì)教程(親測成功版)
被Qt連接數(shù)據(jù)庫折磨了三天之后終于連接成功了,記錄一下希望對看到的人有所幫助,下面這篇文章主要給大家介紹了關(guān)于QT連接Mysql數(shù)據(jù)庫的詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05MySQL安裝第四步報錯(initializing?database報錯)的圖文解決方法
這篇文章主要給大家介紹了關(guān)于MySQL安裝第四步報錯(initializing?database報錯)的解決方法,"initializing?database"?通常出現(xiàn)在安裝MySQL的過程中,表示MySQL數(shù)據(jù)庫初始化過程中遇到了問題,需要的朋友可以參考下2024-06-06union和子查詢中order?by一起使用導(dǎo)致排序失效問題及解決
這篇文章主要介紹了union和子查詢中order?by一起使用導(dǎo)致排序失效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12MySql數(shù)據(jù)庫基礎(chǔ)之子查詢詳解
所謂子查詢是指在一個查詢中嵌套了其他的若干查詢,即在一個SELECT查詢語句的WHERE或FROM子句中包含另一個SELECT查詢語句,下面這篇文章主要給大家介紹了關(guān)于MySQL子查詢的相關(guān)資料,需要的朋友可以參考下2022-09-09MySQL刪除binlog日志文件的三種實現(xiàn)方式
本文介紹了三種刪除MySQL binlog日志文件的方法,包含手動刪除、使用SQL命令刪除和設(shè)置自動清理,具有一定的參考價值,感興趣的可以了解一下2025-02-02MySQL查詢優(yōu)化:用子查詢代替非主鍵連接查詢實例介紹
對多的兩張表,一般是一張表的外鍵關(guān)聯(lián)到另一個表的主鍵,接下來為大家介紹下用子查詢代替非主鍵連接查詢,感興趣的朋友可以參考下哈,希望對你有所幫助2013-04-04老生常談mysql event事件調(diào)度器(必看篇)
下面小編就為大家?guī)硪黄仙U刴ysql event事件調(diào)度器(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03