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

解决方案 »

  1.   

    字段里面包含好多字符,to_number()可以吗
      

  2.   

    有字符串to_number不行,用证则表达式吧
    select regexp_substr('aaa123.45bbb', '[0-9]+.[0-9]+') from dual;
      

  3.   

    正则截取 和替换都可以实现
    select REGEXP_REPLACE('123w123rrr55','[^0-9]','') c1 from dual;       c1
    ----------------------
    1 12312355
      

  4.   

    如果要提取数字中的小数点 加一个就可以了
    select REGEXP_REPLACE('adsdf111.5555dkjk','[^0-9|.]|','') c1 from dual;       c1
    ----------------------
    1 111.5555
      

  5.   

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