ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle开发 » 字符串取值问题?

标题: 字符串取值问题?
离线 dingjun123
djゆoracle


来自 china
精华贴数 2
个人空间 0
技术积分 1354 (1253)
社区积分 15 (8808)
注册日期 2006-7-28
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

发表于 2008-6-25 15:20 
就这么几个函数,其他的匹配规则和java,perl差不多

--test data
create table regtest(a varchar2(100));
insert into regtest values('afd][;/123456');
insert into regtest values('ad;123');
insert into regtest values(123);
insert into regtest values('abc');
commit;

select * from regtest;

--regexp_like和like的功能差不多,匹配是否含有,下面就是找字段a中有数字的所有记录
select * from regtest where regexp_like(a,'\d+');

--regexp_substr,取匹配到的所有字符

select regexp_substr('afd][;/123456','\d+') from dual;

--regexp_replace,替换所有匹配到的字符
select regexp_replace('afd][;/123456','\D+','') from dual;

--regexp_instr返回第一次匹配到的字符的位置

select regexp_instr('afd][;/123456',';') from dual;--返回6

[ 本帖最后由 dingjun123 于 2008-6-25 15:21 编辑 ]


__________________
软件体系架构要以数据库为中心,如oracle,可以充分利用数据库的特性,帮助解决复杂的问题。一个常用的规则是:
如果能用单条sql解决,ok
如果不能用单条sql解决,考虑使用PL/SQL
如果不能用PL/SQL解决,考虑使用java存储过程
如果不能用java解决,那么考虑使用c外部过程
如果c都解决不了,那么考虑一下放弃吧
只看该作者    顶部
在线/呼叫 jvkojvko
小马哥


精华贴数 1
个人空间 0
技术积分 5659 (233)
社区积分 45991 (16)
注册日期 2007-9-10
论坛徽章:17
      
      

发表于 2008-6-25 15:21 
这样我觉得就可以了,有错之处帮忙指出
Select translate(',afd][;/0123456','0'||translate(',afd][;/0123456',',0123456789',','),'0') From dual

[ 本帖最后由 jvkojvko 于 2008-6-25 15:27 编辑 ]


__________________
马无夜草不肥,人无外财不富。

-------------------------------
长期高价出售奥运章
只看该作者    顶部
离线 huzhouhzy
初级会员



精华贴数 0
个人空间 0
技术积分 214 (8919)
社区积分 0 (1183896)
注册日期 2006-11-17
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

发表于 2008-6-25 15:27 
上面的方法我都试了下 都可以用。呵呵!!!


只看该作者    顶部
离线 Hot_mobile


来自 福建厦门
精华贴数 0
个人空间 0
技术积分 167 (11044)
社区积分 0 (1699728)
注册日期 2008-2-13
论坛徽章:2
2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:自行车    
      

发表于 2008-6-25 15:34 
select regexp_replace('afd][;/123456','[^0-9]','') from dual


只看该作者    顶部
离线 joe2008
初级会员-专业灌水


精华贴数 0
个人空间 3
技术积分 32 (38718)
社区积分 73 (4056)
注册日期 2006-2-14
论坛徽章:0
      
      

发表于 2008-6-25 17:59 
好復雜啊


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问