各位大神,请教一个oracle字符串截取的问题。
如何将A01截取成1.
我知道可以用正则表达式将A01截取成01,但是如何将01截取成1呢?

解决方案 »

  1.   


    select to_number(regexp_substr('A01','[0-9]+')) from dual;
    /*
    1
    */
      

  2.   


    --如果有小數
    select to_number(regexp_substr('A01.3','[0-9]+[.]?[0-9]*')) from dual;
    /*
    1.3
    */
      

  3.   

    select regexp_replace('01', '^0', '') from dual;
    select regexp_replace('01234', '^0', '') from dual;
    select regexp_replace('1234', '^0', '') from dual;
      

  4.   

    select regexp_replace('A01', '^[a-zA-Z0]+', '') from dual;
    select regexp_replace('A01234', '^[a-zA-Z0]+', '') from dual;