ITPub博客

首页 > 应用开发 > IT综合 > 从字符串中提取数字

从字符串中提取数字

原创 IT综合 作者:lastwinner 时间:2005-10-13 16:32:18 0 删除 编辑

问题的提出有一個字符串﹐類似AAAAA123.456A(AA)A﹐如何用一句SQL將123.456提出來?
A指的是不同的漢字,咋辦?

[@more@]

解决方法:
如果是字符就好办,
select TRIM(TRanslate('AAAAA123.456A(AA)A','A()',' ')) from dual
A()处替换为除数字外的所有字符即可

如果含有汉字,hmxxyy提供如下方法
俺来挑战一下SQL, 带汉字的. 但愿能引出玉来

(9iR2)

SQL>
1 select result
2 from
3 (
4 select level, replace(sys_connect_by_path(x, '/'), '/') result
5 from
6 (select rownum lvl, x from (select level lvl, substr('木炭abcd1234.34ef火锅gh', level, 1) x
7 from dual connect by 1 = 1 and level <= length('木炭abcd1234.34ef火锅gh'))
8 where x between '0' and '9' or x = '.')
9 connect by prior lvl = lvl -1
10 start with lvl = 1
11 order by level desc
12 )
13* where rownum = 1

RESULT
--------------------------------------------------------------------------------
1234.34

原文地址
http://www.itpub.net/337673.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29867/viewspace-807876/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Blog排名
请登录后发表评论 登录
全部评论

注册时间:2007-12-12

  • 博文量
    223
  • 访问量
    2803323