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

标题: 字符串取值问题?
离线 huzhouhzy
初级会员



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

发表于 2008-6-25 14:33 
字符串取值问题?

如何只取字符串中的数值?比如‘afd][;/123456’我想要的结果为123456
请教这样改如何实现?


只看该作者    顶部
离线 bell6248
高级会员



来自 shanghai
精华贴数 0
个人空间 0
技术积分 3851 (371)
社区积分 43 (5224)
注册日期 2004-7-4
论坛徽章:14
ITPUB元老参与2007年甲骨文全球大会(中国上海)纪念会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章 
      

发表于 2008-6-25 14:48 
也可用regular expression!

SQL> select replace(translate('123a88f55577d][;/123456',
  2                           translate('123a88f55577d][;/123456',
  3                                     '0123456789',
  4                                     ' '),
  5                           ' '),
  6                 ' ',
  7                 '') str
  8    from dual;

STR
----------------
1238855577123456

SQL>


__________________
Better information! Better results!
Oracle is the information company!!!
只看该作者    顶部
离线 visual2006



精华贴数 0
个人空间 0
技术积分 776 (2436)
社区积分 4 (18472)
注册日期 2006-7-23
论坛徽章:1
      
      

发表于 2008-6-25 14:52 
regexp_replace()


只看该作者    顶部
离线 caizhuoyi
Oracle Stranger


精华贴数 2
个人空间 0
技术积分 1524 (1102)
社区积分 448 (1495)
注册日期 2006-3-1
论坛徽章:4
授权会员生肖徽章2007版:龙2008北京奥运纪念徽章:棒球数据库板块每日发贴之星  
      

发表于 2008-6-25 15:00 
我也来一个:

SELECT REPLACE(substr(sys_connect_by_path(sw, ','), 2), ',')
  FROM (SELECT to_number(sw) sw, rownum rn, COUNT(*) over() cnt
          FROM (SELECT substr('‘afd][;/123456’我想要的结果为',
                              rownum,
                              1) sw
                  FROM dual
                CONNECT BY LEVEL <= length('‘afd][;/123456’我想要的结果为'))
         WHERE sw IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'))
WHERE LEVEL = cnt
CONNECT BY PRIOR rn = rn - 1;


__________________
我不在江湖,但江湖中有我的传说;
我身在江湖,江湖里却没有我的传说。
只看该作者    顶部
在线/呼叫 dingjun123
djゆoracle


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

发表于 2008-6-25 15:04 
用正则,和其他语言的正则差不多,10g才支持,下面的d+和D+前面有个反斜杠,这里输入,回复之后反斜杠就没有了,晕
select regexp_substr('afd][;/123456','d+') from dual;
下面这个也行
select regexp_replace('afd][;/123456','D+','') from dual;

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


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


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

发表于 2008-6-25 15:10 
10g以上用正则最简单了


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

-------------------------------
长期高价出售奥运章
只看该作者    顶部
离线 haibo_li
superseal


精华贴数 0
个人空间 0
技术积分 401 (4847)
社区积分 776 (1111)
注册日期 2008-3-31
论坛徽章:2
生肖徽章2007版:羊生肖徽章2007版:鸡    
      

发表于 2008-6-25 15:11 
发哥经常发贴与灌水啊,升的好快


__________________
静心
只看该作者    顶部
离线 caizhuoyi
Oracle Stranger


精华贴数 2
个人空间 0
技术积分 1524 (1102)
社区积分 448 (1495)
注册日期 2006-3-1
论坛徽章:4
授权会员生肖徽章2007版:龙2008北京奥运纪念徽章:棒球数据库板块每日发贴之星  
      

发表于 2008-6-25 15:14 
回复 #5 dingjun123 的帖子

这里‘\’是非法字符,加两个就好了。
select regexp_substr('afd][;/123456','\d+') from dual;


__________________
我不在江湖,但江湖中有我的传说;
我身在江湖,江湖里却没有我的传说。
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9090
技术积分 8163 (153)
社区积分 677 (1177)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-25 15:14 


QUOTE:
原帖由 bell6248 于 2008-6-25 14:48 发表
也可用regular expression!

SQL> select replace(translate('123a88f55577d][;/123456',
  2                           translate('123a88f55577d][;/123456',
  3                                     '0123456789',
  4                                     ' '),
  5                           ' '),
  6                 ' ',
  7                 '') str
  8    from dual;

STR
----------------
1238855577123456

SQL>




__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 visual2006



精华贴数 0
个人空间 0
技术积分 776 (2436)
社区积分 4 (18472)
注册日期 2006-7-23
论坛徽章:1
      
      

发表于 2008-6-25 15:17 


QUOTE:
原帖由 junsansi 于 2008-6-25 15:14 发表



扫把还灌水?


只看该作者    顶部
相关内容


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