首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎么使用正则表达式把相应的手机吉祥号从数据库查询出来

2012-08-28 
如何使用正则表达式把相应的手机吉祥号从数据库查询出来如何使用正则表达式把相应的手机吉祥号从数据库查

如何使用正则表达式把相应的手机吉祥号从数据库查询出来
如何使用正则表达式把相应的手机吉祥号从数据库查询出来(手机号位长为11位,嘻嘻),例如
????????AAA 尾号3个一样的:尾号000、111、222、333、444、555.....
这个可以这样
select * from table_name regexp_like(code,'(0{3}$)|(1{3}$)|(2{3}$)|(3{3}$)|(4{3}$)
|(5{3}$)|(6{3}$)|(7{3}$)|(8{3}$)|(9{3}$)');

下面其它几种的正则表达式该如何写呢,谢谢!
1、
???????AABB 尾号0011、1122、2233、3344、4455、5566.......

2、
???????ABAB 尾号1010、1212、2323、以及5959、9292之类的.......

3、
???????ABBA 尾号1331、6556、9559........

4、
????????BCD 尾号234、345、456、678、890、012....以及987、654等倒顺的

5、
???????ABCD 尾号0123、1234、2345、3456、4567、5678、7890


[解决办法]
同理
regexp_like(a,'([0-9])\1\1$')号码末3位相同
regexp_like(a,'([0-9])\1([0-9])\2$')末4位为:AABB
regexp_like(a,'([0-9])([0-9])\1\2$')末4位为:ABAB
regexp_like(a,'([0-9])([0-9])\2\1$')末4位为:ABBA

至于正则毕竟是字符串匹配
像递增、递减涉及计算的功能,就要另寻方法了

热点排行