在ibatis下匹配特殊手机号码(oracle数据库)
<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数据库)的更多相关文章
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- Windows 7下通过Excel2007连接Oracle数据库并对表查询
http://blog.csdn.net/pan_tian/article/details/8133668 1. 环境变量的设置 1.1 ORACLE_HOME环境变量的设置,我这里指向了我的Ora ...
- Linux平台下使用rman进行oracle数据库迁移
实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE ...
- Oracle使用——Linux系统下使用命令实现oracle数据库数据导入
背景 在工作当中,数据库的备份及数据导入是必不可少的操作,在完全无界面的Linux操作系统中,我们应该怎样实现oracle数据库的导入呢 前提 服务器已配置ftp 模拟环境 一台linux应用服务器上 ...
- 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件
先从控制面板删除oracle的相关应用及数据库, 删除系统变量 ORACLE_OEM_CLASSPATH=%JAVA_HOME%\lib\ext\access-bridge-64.jar;%JAVA_ ...
- windows 10 下使用Navicat for oracle 数据库还原
一.前期准备 1.安装windows 10系统 2.安装oracle 11g 数据库 3.安装PLsql(也不需要) 4.安装sqlplus(这个必须有) 5.使用下面这个东西新建数据库(不懂创建的话 ...
- ups机制下停电提前关闭oracle数据库
思路:在一个受ups保护的机器A1上写脚本,几分钟(如半分钟)ping不在ups保护的机器B,如果几次(如5次)ping不同,这时我们认为将要停电,此时脚本执行正常关闭受ups保护的机器上数据库的命令 ...
- Windows系统下做定时任务为Oracle数据库每天自动备份
1.创建备份目录d:\backup, 创建批处理命令Bak.bat,编写备份脚本 ? 1 2 exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\b ...
- root用户下使用sqlplus登录Oracle数据库
1.把环境变量添加到root用户的环境变量里面2.执行 chmod -R 6777 /tmp chmod -R 6777 /usr/tmp chmod -R 6 ...
随机推荐
- debian安装vld来查看Opcode,PHP调优。
一: 我的环境: Debian 7 (wheezy) x64 PHP 5.4.4-14 (apt-get 而来) Apache/2.2.22 (同上,非源码编译) 二 :安装vld. (# 代表是r ...
- Linux虚拟机与外面系统ping不通,或者连不上网
很多其它具体文档:http://download.csdn.net/download/zml_2015/8843061 非常多人在做linux课程设计的时候,用的linux虚拟机与外面的系统ping不 ...
- kendo ui grid 汉化
加入js引用 <link href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.common.min.css" r ...
- URlRewriter组件下载及使用说明
下载地址:http://www.chx99.cn/file/URLRewriter.rar在web.config添加如下配置节: <httpHandlers> <add ver ...
- OpenSSL命令---rsa
用途: Rsa命令用于处理RSA密钥.格式转换和打印信息.其实其用法和dsa的差不多. 用法: openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET| ...
- MySQL 5.6.x 配置数据库主从复制
[转]http://blog.csdn.net/lwprain/article/details/10966837 备注: 在配置之前如果之前配置过主从没成功的话, 最好把master数据库目录下的my ...
- UIView 设置阴影(属性说明)
以下代码实现: 第一个图片的代码 //加阴影--任海丽编辑 _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowCo ...
- uoj #2 【NOI2014】起床困难综合症 贪心+位运算
题目链接 给出n个数, 每个数有特定的一种操作, &|^三种, 给出一个m, 初始值属于[0,m],选定一个初始值, 使所有操作做完之后的值最大, 输出这个最大值. 1, 从最高位贪心, 如果 ...
- Week15(12月19日):授课综述2
Part I:提问 =========================== 1.为了编辑应用程序的统一布局,可打开位于Views\Shared子目录中的( )文件. A.MasterPage.h ...
- How can you determine how much disk space a particular MySQL table is taking up?
http://stackoverflow.com/questions/6474591/how-can-you-determine-how-much-disk-space-a-particular-my ...