SQL 正则表达式及mybatis中使用正则表达式

 更新时间:2019-08-25 10:58:45   作者:佚名   我要评论(0)

mysql 提供的模式匹配的其他类型是使用扩展正则表达式。
当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。

mysql 提供的模式匹配的其他类型是使用扩展正则表达式。

当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。

扩展正则表达式的一些字符是:

“.”匹配任何单个的字符。
一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。
“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。

正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。

如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。

为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。

为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:

为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

自己在Myabtis中使用正则表达式

<select id="provinceLists" resultMap="BaseCountry"
 parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '2' and
 code REGEXP "[0-9]*\.[0-9]*"
 </select>
 <select id="cityLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '3' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*"
 </select>
 <select id="countyLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '4' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*";
 </select>

总结

以上所述是小编给大家介绍的SQL 正则表达式及mybatis中使用正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • MyBatis直接执行SQL的工具SqlMapper
  • 如何批量测试Mybatis项目中的Sql是否正确详解
  • Mybatis核心组成部分之SQL映射文件揭秘详解
  • Mybatis学习笔记之动态SQL揭秘
  • MyBatis中动态sql的实现方法示例
  • mybatis连接MySQL8出现的问题解决方法
  • 详解Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题
  • 详解mybatis.generator配上最新的mysql 8.0.11的一些坑
  • mybatis mysql delete in操作只能删除第一条数据的方法
  • MyBatis执行动态SQL的方法

相关文章

  • JSP servlet实现文件上传下载和删除

    JSP servlet实现文件上传下载和删除

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 由于存储空间,对一般用户而言,就是用来操作存储文件的,所以这两天,特意
    2019-08-25
  • SQL 正则表达式及mybatis中使用正则表达式

    SQL 正则表达式及mybatis中使用正则表达式

    mysql 提供的模式匹配的其他类型是使用扩展正则表达式。 当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
    2019-08-25
  • 关于关系数据库如何快速查询表的记录数详解

    关于关系数据库如何快速查询表的记录数详解

    前言 在数据库中,很多人员习惯使用SELECT COUNT(*) 、SELECT COUNT(1) 、SELECT COUNT(COL)来查询一个表有多少记录,对于小表,这种SQL的开销倒不是很大,
    2019-08-25
  • 详解java解决分布式环境中高并发环境下数据插入重复问题

    详解java解决分布式环境中高并发环境下数据插入重复问题

    java 解决分布式环境中 高并发环境下数据插入重复问题 前言 原因:服务器同时接受到的重复请求 现象:数据重复插入 / 修改操作 解决方案 : 分布式锁 对请
    2019-08-25
  • JSP实现简单人事管理系统

    JSP实现简单人事管理系统

    本文实例为大家分享了JSP实现简单人事管理系统的具体代码,供大家参考,具体内容如下 此系统使用jsp实现,其中包含了jsp九大内置对象和四大作用域的相关知识,
    2019-08-25
  • Java仿Windows记事本源代码分享

    Java仿Windows记事本源代码分享

    本文实例为大家分享了Java仿Windows记事本的具体代码,供大家参考,具体内容如下 先上截图: 源代码: import java.awt.*; import javax.swing.*; i
    2019-08-25
  • Scala的文件读写操作与正则表达式

    Scala的文件读写操作与正则表达式

    目录 在本篇文章中你将会学习并了解常用的文件处理任务,例如读取文件的一行文本,本博客的要点包含: 1.Source.fromFile(...).getLines.toArray 输出文件所有
    2019-08-25
  • mysql索引基数概念与用法示例

    mysql索引基数概念与用法示例

    本文实例讲述了mysql索引基数概念与用法。分享给大家供大家参考,具体如下: Cardinality(索引基数)是mysql索引很重要的一个概念 索引基数是数据列所包含的
    2019-08-25
  • java实现仿射密码加密解密

    java实现仿射密码加密解密

    本文实例为大家分享了java实现仿射密码加密解密的具体代码,供大家参考,具体内容如下 加密:将明文转化为对应的数字,如 ‘a'-> 0, ‘b'->1,…,'1'->26,'2'-
    2019-08-25
  • java腾讯AI人脸对比对接代码实例

    java腾讯AI人脸对比对接代码实例

    技术栈: Spring boot 2.x 腾讯 java版本1.8 注意事项: 本文内的“**.**”需要自己替换为自己的路径。 常量内的“**”需要自己定义自己内容。
    2019-08-25

最新评论