mysql模糊查詢like和regexp小結(jié)
在mysql中實(shí)現(xiàn)模糊查詢的有l(wèi)ike和regexp。
------------------------
like的用法許多人都是知道的,最為常用的情況就是select * from a where name like '%a%';
其中'%'代表的是任意個(gè)字符,它的效果像是正則表達(dá)式里的'*',它有幾種用法:'a%','%a%','%a',分別表示以什么開頭,存在什么以及以什么結(jié)尾。
另外也可以使用'_'字符,這表示一個(gè)任意字符。效果類似正則表達(dá)式里面的'.'。
like是對這個(gè)字段里面的所有字符串進(jìn)行比較,效率并不高。
------------------------
regexp就是mysql的正則匹配操作符.
regexp的用法如:select * from a where name regexp 'a';其寫法可以參照正則表達(dá)式.像是'*','[a-z]','a|b','cc$','^b{2}$'。
------------------------
在hibernate中沒有提供regexp的直接使用功能,但是可以通過添加自定義函數(shù)的方式實(shí)現(xiàn)。
public class MySQL5DialectRegexp extends org.hibernate.dialect.MySQLInnoDBDialect{
public MySQL5DialectRegexp() {
super();
registerFunction( "regexp", new SQLFunctionTemplate(Hibernate.BOOLEAN, "?1 REGEXP ?2") );
}
}
其中org.hibernate.dialect.MySQLInnoDBDialect是hibernate配置信息hibernate.dialect的值,之后可以使用MySQL5DialectRegexp的路徑代替.
HQL語句可以寫作:
from A where regexp(a,'a|b|c')=1;
- MySQL中REGEXP正則表達(dá)式使用大全
- MySQL中使用replace、regexp進(jìn)行正則表達(dá)式替換的用法分析
- mysql數(shù)據(jù)庫replace、regexp的用法
- Mysql中正則表達(dá)式Regexp常見用法
- 老生常談MYSQL模式匹配 REGEXP和like的用法
- mysql模糊查詢like與REGEXP的使用詳細(xì)介紹
- MySQL正則表達(dá)式REGEXP使用詳解
- MySQL regexp 命令詳解
- MySql比較運(yùn)算符正則式匹配REGEXP的詳細(xì)使用詳解
- Mysql中正則表達(dá)式Regexp常見用法及說明
- MYSQL中REGEXP的實(shí)現(xiàn)示例
相關(guān)文章
Lost connection to MySQL server during query的解決
經(jīng)常在執(zhí)行sql語句時(shí),會發(fā)現(xiàn)這個(gè)問題,一般就是連接mysql數(shù)據(jù)庫不穩(wěn)定2008-06-06
Mysql遷移到TiDB雙寫數(shù)據(jù)庫兜底方案詳解
這篇文章主要為大家介紹了Mysql遷移到TiDB雙寫數(shù)據(jù)庫兜底方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
MySQL數(shù)據(jù)庫基礎(chǔ)學(xué)習(xí)之JSON函數(shù)各類操作詳解
很多日常業(yè)務(wù)場景都會用到j(luò)son文件作為數(shù)據(jù)存儲起來,而mysql5.7以上就提供了存儲json的支撐。這篇文章就為大家整理了MySQL中JSON函數(shù)的各類操作,感興趣的可以了解一下2023-02-02
MySQL數(shù)據(jù)庫刪除數(shù)據(jù)后自增ID不連續(xù)的問題及解決
這篇文章主要介紹了MySQL數(shù)據(jù)庫刪除數(shù)據(jù)后自增ID不連續(xù)的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
MySQL性能之count* count1 count列對比示例
這篇文章主要為大家介紹了MySQL性能之count* count1 count列對比示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
MySQL 導(dǎo)出一條數(shù)據(jù)的插入語句(示例詳解)
在MySQL中,如果我們想要導(dǎo)出一條數(shù)據(jù)的插入語句,我們可以使用SELECT ... INTO OUTFILE語句,這篇文章主要介紹了MySQL 導(dǎo)出一條數(shù)據(jù)的插入語句,需要的朋友可以參考下2024-06-06

