| 您的当前位置:首页 --> MYSQL教程 --> mysql模糊查询like和regexp小结 |
| MYSQL教程 mysql模糊查询like和regexp小结 |
| 浏览次数:1019 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:mysql模糊查询like和regexp小结 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
在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") );
}
}
HQL语句可以写作: from A where regexp(a,'a|b|c')=1; |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 用一条mysql语句插入多条数据 |