程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql隱約查詢like和regexp小結

mysql隱約查詢like和regexp小結

編輯:MySQL綜合教程

mysql隱約查詢like和regexp小結。本站提示廣大學習愛好者:(mysql隱約查詢like和regexp小結)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql隱約查詢like和regexp小結正文


在mysql中完成隱約查詢的有like和regexp。

------------------------

like的用法很多人都是曉得的,最為經常使用的情形就是select * from a where name like '%a%';

個中'%'代表的是隨意率性個字符,它的後果像是正則表達式裡的'*',它有幾種用法:'a%','%a%','%a',分離表現以甚麼開首,存在甚麼和以甚麼開頭。

別的也能夠應用'_'字符,這表現一個隨意率性字符。後果相似正則表達式外面的'.'。

like是對這個字段外面的一切字符串停止比擬,效力其實不高。

------------------------

regexp就是mysql的正則婚配操作符.

regexp的用法如:select * from a where name regexp 'a';其寫法可以參照正則表達式.像是'*','[a-z]','a|b','cc$','^b{2}$'。

------------------------

在hibernate中沒有供給regexp的直接應用功效,然則可以經由過程添加自界說函數的方法完成。

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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved