<isNotNull prepend="AND" property="endNumber">
<isNotEmpty property="endNumber">
<isNotNull property="isRuleEndNumber">
<isNotEmpty property="isRuleEndNumber">
<isEqual property="isRuleEndNumber" compareValue="1">
<isEqual property="endNumber" compareValue="-4">
substr(t.UIM_CARD,11,1)!=4
</isEqual>
<isEqual property="endNumber" compareValue="AABAA">
substr(t.UIM_CARD,11,1)=substr(t.UIM_CARD,10,1)
and substr(t.UIM_CARD,8,1)=substr(t.UIM_CARD,7,1)
and substr(t.UIM_CARD,9,1)!=substr(t.UIM_CARD,10,1)
</isEqual>
<isEqual property="endNumber" compareValue="AAA">
substr(t.UIM_CARD,10,1)=substr(t.UIM_CARD,9,1)
and substr(t.UIM_CARD,9,1)=substr(t.UIM_CARD,11,1)
and substr(t.UIM_CARD,9,1)!=substr(t.UIM_CARD,8,1)
</isEqual>
<isEqual property="endNumber" compareValue="ABC">
regexp_like(substr(t.UIM_CARD,9,3),'^(012|123|234|345|456|567|678|789)$$')
and to_number(substr(t.UIM_CARD,8,1))+1!=to_number(substr(t.UIM_CARD,9,1))
</isEqual>
<isEqual property="endNumber" compareValue="AAAA">
regexp_like(substr(t.UIM_CARD,8,4),'^([0-9])\1{3}$$')
</isEqual>
<isEqual property="endNumber" compareValue="ABCD">
regexp_like(substr(t.UIM_CARD,8,4),'^(0123|1234|2345|3456|4567|5678|6789)$$')
</isEqual>
<isEqual property="endNumber" compareValue="AABB">
substr(t.UIM_CARD,10,1)=substr(t.UIM_CARD,11,1)
and substr(t.UIM_CARD,8,1)=substr(t.UIM_CARD,9,1)
and substr(t.UIM_CARD,9,1)!=substr(t.UIM_CARD,10,1)
</isEqual>
<isEqual property="endNumber" compareValue="ABAB">
substr(t.UIM_CARD,8,1)=substr(t.UIM_CARD,10,1)
and substr(t.UIM_CARD,9,1)=substr(t.UIM_CARD,11,1)
and to_number(substr(t.UIM_CARD,10,1))+1=substr(t.UIM_CARD,11,1)
</isEqual>
<isEqual property="endNumber" compareValue="88">
substr(t.UIM_CARD,10,2)='88'
</isEqual>
</isEqual>
</isNotEmpty>
</isNotNull>
		<isNotNull property="isRuleEndNumber">
              <isNotEmpty property="isRuleEndNumber">
               <isEqual property="isRuleEndNumber" compareValue="0">
                #endNumber#=substr(t.UIM_CARD,11-length(#endNumber#)+1,length(#endNumber#))
               </isEqual>
              </isNotEmpty>
              </isNotNull>
 上面分两部分,一部分按照规则匹配号码,下面部分按照尾数匹配号码.这些代码都是能正常使用的。
 
以下一些正则表达式来自网上,本人仔细研究测试过,能在JAVA代码里面使用,但是不能在SQL语句中使用:String s="5678";
System.out.println(s.matches("^[0-9](?:(?<=0)1|(?<=1)2|(?<=2)3|(?<=3)4|(?<=4)5|(?<=5)6|(?<=6)7|(?<=7)8|(?<=8)9){3}$"));
String s2="11";
System.out.println(s2.matches("^([0-9])\\1$"));
String pwd ="666";
String regx = "^(\\d)\\1{2}$";以上都返回true String aabb="1122";
System.out.println(aabb.matches("^([0-9])\\1([0-9])\\2$")); String abab="1212";
System.out.println(abab.matches("^([0-9](?:(?<=0)1|(?<=1)2|(?<=2)3|(?<=3)4|(?<=4)5|(?<=5)6|(?<=6)7|(?<=7)8|(?<=8)9){1})\\1$"));以上也都返回true String s="544354645435";
System.out.println(s.matches("^[^0-9]*$"));这个是false,呵呵。。


												

在ibatis下匹配特殊手机号码(oracle数据库)的更多相关文章

  1. Java使用iBatis批量插入数据到Oracle数据库

    Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...

  2. Windows 7下通过Excel2007连接Oracle数据库并对表查询

    http://blog.csdn.net/pan_tian/article/details/8133668 1. 环境变量的设置 1.1  ORACLE_HOME环境变量的设置,我这里指向了我的Ora ...

  3. Linux平台下使用rman进行oracle数据库迁移

        实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE ...

  4. Oracle使用——Linux系统下使用命令实现oracle数据库数据导入

    背景 在工作当中,数据库的备份及数据导入是必不可少的操作,在完全无界面的Linux操作系统中,我们应该怎样实现oracle数据库的导入呢 前提 服务器已配置ftp 模拟环境 一台linux应用服务器上 ...

  5. 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件

    先从控制面板删除oracle的相关应用及数据库, 删除系统变量 ORACLE_OEM_CLASSPATH=%JAVA_HOME%\lib\ext\access-bridge-64.jar;%JAVA_ ...

  6. windows 10 下使用Navicat for oracle 数据库还原

    一.前期准备 1.安装windows 10系统 2.安装oracle 11g 数据库 3.安装PLsql(也不需要) 4.安装sqlplus(这个必须有) 5.使用下面这个东西新建数据库(不懂创建的话 ...

  7. ups机制下停电提前关闭oracle数据库

    思路:在一个受ups保护的机器A1上写脚本,几分钟(如半分钟)ping不在ups保护的机器B,如果几次(如5次)ping不同,这时我们认为将要停电,此时脚本执行正常关闭受ups保护的机器上数据库的命令 ...

  8. Windows系统下做定时任务为Oracle数据库每天自动备份

    1.创建备份目录d:\backup, 创建批处理命令Bak.bat,编写备份脚本 ? 1 2 exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\b ...

  9. root用户下使用sqlplus登录Oracle数据库

    1.把环境变量添加到root用户的环境变量里面2.执行 chmod -R 6777 /tmp           chmod -R 6777 /usr/tmp           chmod -R 6 ...

随机推荐

  1. Sicily-1028

    一.        题意: 算出汉诺塔移动序列中对应位置的号码,数据规模很大,所以不能单纯递归,而是要找出汉诺塔序列的规律. 二.        汉诺塔数列 为了得出最少的移动步数,当n为偶数时,最上 ...

  2. CF 191 div2

    A.数据量很小,直接爆搞. #include <iostream> #include <cstdio> #include <algorithm> #include ...

  3. BZOJ3231(矩阵连乘,稍有点复杂)

    题目:3231: [Sdoi2008]递归数列 题意: 一个由自然数组成的数列按下式定义:   对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 ...

  4. 修改页面中所有TextBox控件的样式--CSS

    1.HTML <div> TextBox<br /> <input type="text" name="name" value=& ...

  5. floyed算法

    Floyed算法(实际是动态规划问题) 问题:权值矩阵matrix[i][j]表示i到j的距离,如果没有路径则为无穷 求出权值矩阵中任意两点间的最短距离 分析:对于每一对定点u,v看是否存在一个点w使 ...

  6. [Swust OJ 771]--奶牛农场(几何题,画图就好)

    题目链接:http://acm.swust.edu.cn/problem/771/    Description 将军有一个用栅栏围成的矩形农场和一只奶牛,在农场的一个角落放有一只矩形的箱子,有一天将 ...

  7. mysql支持emoji解决办法

    mysql显示不了emoji表情或者显示??,原因这里不解释,直接说解决办法.(主要就是修改utf8mb4) 1.修改表 ALTER TABLE `TABLE_NAME` CHARACTER SET ...

  8. 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)

    一.面向对象基础 面向对象名词解释: 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公 ...

  9. SkipFish

    https://zmap.io/ http://code.google.com/p/skipfish/wiki/SkipfishDoc#How_to_run_the_scanner?

  10. 在word中批量制作条形码

    条码打印软件可以批量生成条形码然后直接打印,但是有些客户不需要直接打印,而是想将生成的条形码在word中进行排版,发给自己的客户或者下属部门来打印.那么如何实现在word中批量制作条形码呢? 操作很简 ...