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

标题: 字符串取值问题?
在线/呼叫 dingjun123
djゆoracle


来自 china
精华贴数 2
个人空间 0
技术积分 1222 (1430)
社区积分 3 (21788)
注册日期 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 编辑 ]


只看该作者    顶部
在线/呼叫 jvkojvko
小马哥


精华贴数 1
个人空间 0
技术积分 5591 (236)
社区积分 44391 (17)
注册日期 2007-9-10
论坛徽章:19
祖母绿萤石祖母绿紫水晶紫水晶红宝石
海蓝宝石紫水晶蓝锆石月度论坛发贴之星金色在线徽章生肖徽章2007版:龙

发表于 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 (8904)
社区积分 0 (1183700)
注册日期 2006-11-17
论坛徽章:1
ITPUB新首页上线纪念徽章     
      

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


只看该作者    顶部
离线 Hot_mobile


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

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


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


精华贴数 0
个人空间 3
技术积分 9 (94920)
社区积分 69 (4143)
注册日期 2006-2-14
论坛徽章:0
      
      

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


只看该作者    顶部
相关内容


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