mysql模糊查询like和regexp小结
mysql 查询 小结 模糊 like REGEXP
2023-06-13 09:15:45 时间
在mysql中实现模糊查询的有like和regexp。
------------------------
like的用法许多人都是知道的,最为常用的情况就是select*fromawherenamelike"%a%";
其中"%"代表的是任意个字符,它的效果像是正则表达式里的"*",它有几种用法:"a%","%a%","%a",分别表示以什么开头,存在什么以及以什么结尾。
另外也可以使用"_"字符,这表示一个任意字符。效果类似正则表达式里面的"."。
like是对这个字段里面的所有字符串进行比较,效率并不高。
------------------------
regexp就是mysql的正则匹配操作符.
regexp的用法如:select*fromawherenameregexp"a";其写法可以参照正则表达式.像是"*","[a-z]","a|b","cc$","^b{2}$"。
------------------------
在hibernate中没有提供regexp的直接使用功能,但是可以通过添加自定义函数的方式实现。
publicclassMySQL5DialectRegexpextendsorg.hibernate.dialect.MySQLInnoDBDialect{ publicMySQL5DialectRegexp(){ super(); registerFunction("regexp",newSQLFunctionTemplate(Hibernate.BOOLEAN,"?1REGEXP?2")); } }
其中org.hibernate.dialect.MySQLInnoDBDialect是hibernate配置信息hibernate.dialect的值,之后可以使用MySQL5DialectRegexp的路径代替.
HQL语句可以写作:
fromAwhereregexp(a,"a|b|c")=1;
相关文章
- 数据库如何彻底卸载MySQL数据库(如何彻底删除mysql)
- MySQL注册服务器:简单、安全、高效(mysql注册服务器)
- MySQL内链接:简单手段构建复杂查询(mysql内链接)
- MySQL查询结果的编号索引方法(mysql查询结果编号)
- MySQL字符串操作之获取最大价值(mysql字符串的值)
- 是否是周末MySQL查询:判断今天是否是周末(mysql判断今天)
- MySQL数据库类型及其应用(mysql所有类型)
- 方法探索MySQL查询的多种方法(mysql查询有哪些)
- 挑战极限:计算机二级MySQL考试(计算机二级mysql考试)
- MySQL查看表列的方法详解(mysql查看表的列)
- 如何快速查看MySQL服务器版本信息(mysql查询版本信息)
- 查询MySQL中查询当天记录的技巧(mysql当天记录)
- 里MySQL安装在何处?(mysql装在哪)
- 如何在MySQL中查询不同的数据(mysql查询不同数据)
- MySQL表空间高效配置的技巧(mysql 表空间设置)
- MySQL 数据库的倒入指南(mysql倒入)
- MySQL使用Limit6进行快速分页查询(mysql中limit6)
- MySQL中的CTE函数构建更全面的查询体验(cte函数mysql)
- C语言驱动MySQL失去连接的解决方案(c mysql 链接断开)
- MySQL 查询排除不等于条件(7 mysql查询不等于)
- 使用cmd管理MySQL终端探索之旅(cmd如何连mysql)
- MySQL Workbench使用Yog建议和技巧(mysql yog)
- MySQL表字段关联,让数据更通畅(mysql不同表字段关联)
- MySQL数据对比发现两数值不相等(mysql两数值不相等)
- 解决MySQL无法插入数据的方法(mysql 不能插入数据)
- MySQL使用视图存在风险,不建议长期使用(mysql不建议用视图)