MySQL之模糊查詢特殊字符處理方式
MySQL模糊查詢特殊字符處理
模糊查詢字段輸入一個(gè)%,查出了所有數(shù)據(jù)
SELECT * FROM region_info WHERE region LIKE '%%%';
目標(biāo)結(jié)果應(yīng)該返回region屬性包含%的結(jié)果集:
然而(部分結(jié)果集):
原因
MySQL有一些特殊字符需要進(jìn)行轉(zhuǎn)義,模糊查詢中%、_是屬于匹配規(guī)則特殊字符,單引號(hào)'和轉(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模糊查詢時(shí)無(wú)法匹配中文的解決
問(wèn)題描述
在開(kāi)發(fā)中遇到了一個(gè)問(wèn)題,就是在使用Text文本框當(dāng)作篩選條件進(jìn)行模糊查詢時(shí),無(wú)法匹配text文本框的中文字符,但是英文和數(shù)字都可以正常篩選,于是懷疑是哪里的配置文件配置沒(méi)有加上UTF-8。
解決方案
通過(guò)查看修改兩個(gè)配置文件解決了這個(gè)問(wèn)題。
1.查看數(shù)據(jù)庫(kù)連接的配置文件在你的項(xiàng)目下找到連接數(shù)據(jù)庫(kù)的配置文件,一般為 url=jdbc…形式,
如下文件:
在你的項(xiàng)目名稱,也就是?后面,查看是否有加上了UTF-8
2.找到你的tomcat 安裝位置,在安裝位置的conf文件夾下找到一個(gè)名為 server.xml的文件,打開(kāi)修改。
如上圖,查看你是否加上了 URIEncoding=“UTF-8” 。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
QT連接Mysql數(shù)據(jù)庫(kù)的詳細(xì)教程(親測(cè)成功版)
被Qt連接數(shù)據(jù)庫(kù)折磨了三天之后終于連接成功了,記錄一下希望對(duì)看到的人有所幫助,下面這篇文章主要給大家介紹了關(guān)于QT連接Mysql數(shù)據(jù)庫(kù)的詳細(xì)教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05MySQL安裝第四步報(bào)錯(cuò)(initializing?database報(bào)錯(cuò))的圖文解決方法
這篇文章主要給大家介紹了關(guān)于MySQL安裝第四步報(bào)錯(cuò)(initializing?database報(bào)錯(cuò))的解決方法,"initializing?database"?通常出現(xiàn)在安裝MySQL的過(guò)程中,表示MySQL數(shù)據(jù)庫(kù)初始化過(guò)程中遇到了問(wèn)題,需要的朋友可以參考下2024-06-06union和子查詢中order?by一起使用導(dǎo)致排序失效問(wèn)題及解決
這篇文章主要介紹了union和子查詢中order?by一起使用導(dǎo)致排序失效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

MySQL刪除binlog日志文件的三種實(shí)現(xiàn)方式

MySQL查詢優(yōu)化:用子查詢代替非主鍵連接查詢實(shí)例介紹

老生常談mysql event事件調(diào)度器(必看篇)