mysql 如何解決圓角字元模糊查詢

2021-08-19 23:28:43 字數 1192 閱讀 7985

mysql資料庫是對大小寫不敏感的,但是如果是圓角的大小寫就會區分大小寫,如何解決呢?

1.因為前端傳來的一般都是半形,這裡做乙個轉化,半形轉全形下面是工具類

/**

* 資料轉換的工具類

* @author haohongbo

* */

public class asciiutil

if (src >= unicode_start && src <= unicode_end)

return src; }

/*** convert from sbc case to dbc case

* * @param src

* @return dbc case

*/public static string sbc2dbccase(string src)

char c = src.tochararray();

for (int i = 0; i < c.length; i++)

return new string(c); }

public static char dbc2sbc(char src)

if (src <= ascii_end)

return src; }

/*** convert from dbc case to sbc case.

* * @param src

* @return sbc case string

*/public static string dbc2sbccase(string src)

char c = src.tochararray();

for (int i = 0; i < c.length; i++)

return new string(c);

}}

2.轉換為全形的字母和數字,要和資料庫忽略大小寫

做乙個.tolowercase()方法,將原字串,和轉換為圓角的字串,傳到後台。

3.mybatis中進行查詢

content like "%"#"%" or lower(content) like "%"#"%"
這段sql的前一段是mysql的正常查詢,忽略大小寫,後邊部分是圓角的模糊查詢,因為圓角是不忽略大小寫的,所以要有乙個lower()方法。

ok~這樣就可以解決了

如何解決mysql死鎖

見官方文件 可直接在mysql命令列執行 show engine innodb status g 檢視造成死鎖的sql語句,分析索引情況,然後優化sql 然後show processlist kill processid 另外可以開啟慢查詢日誌,linux下開啟需在my.cnf的 mysqld 裡面...

Spring Boot如何解決Mysql斷連問題

spring.datasource.url jdbc mysql localhost test spring.datasource.username dbuser spring.datasource.password dbpass spring.datasource.driver class nam...

如何解決MySql的Table is full問題

最近使用mysql的memory引擎時,出現了 table is full的異常。解決辦法是修改max heap table size引數,改大以足夠容納表的大小,比如512m。在my.cnf中增加 max heap table size 512m 重啟mysql即可。btw,如果是myisam引擎...