日期:2014-05-17  浏览次数:20782 次

提取字段中的数字
大家好,初学数据库,请问怎么提取字符字段中的数字,字段为varchar2,数字部分包含小数。在线急等回复

------解决方案--------------------
肯定不可以。

用正则表达式,把0-9的数据都取出来
------解决方案--------------------
有字符串to_number不行,用证则表达式吧
SQL code
select regexp_substr('aaa123.45bbb', '[0-9]+.[0-9]+') from dual;

------解决方案--------------------
正则截取 和替换都可以实现

SQL code

select REGEXP_REPLACE('123w123rrr55','[^0-9]','') c1 from dual;

       c1
----------------------
1    12312355

------解决方案--------------------
如果要提取数字中的小数点 加一个就可以了

SQL code

select REGEXP_REPLACE('adsdf111.5555dkjk','[^0-9|.]|','') c1 from dual;

       c1
----------------------
1    111.5555

------解决方案--------------------
select REGEXP_REPLACE('adsdf111.5555dkjk','[^0-9|.]|','') c1 from dual;

正确。。。