如何从“预存200送100元”这样的字符串中取出100这个数字。
用regexp_substr如何抽取,急!

解决方案 »

  1.   

    select regexp_substr('预存200送100元','1[0]{2}') from dual
      

  2.   

    select regexp_substr('预存200送100元','1[0]{2}') from dual 
    确实是可以提取100不过楼主是只能提取100么,预存200送50元  要不要求提取出50来呀,如果需要,上面的就不行了。
      

  3.   

    select substr(a, instr(a, '送') + 1, instr(a, '元') - instr(a, '送') - 1)
      from (select '预存200送100元' a
              from dual
            union all
            select '预存200送1000元' from dual);--输出:
    SUBSTR(A,INSTR(A,'ËÍ')+1,INSTR
    100
    1000
      

  4.   

    select substr(regexp_substr('存1000话费送200元','送[[:digit:]]+'),2) from dual
      

  5.   

    --9i:select substr(a, instr(a, '送') + 1, instr(a, '元') - instr(a, '送') - 1)
      from (select '预存200送100元' a
              from dual
            union all
            select '预存200送1000元' from dual);--输出:
    SUBSTR(A,INSTR(A,'ËÍ')+1,INSTR
    100
    1000--10G:
    select substr(regexp_substr('存1000话费送200元','送[[:digit:]]+'),2) from dual
      

  6.   

    在oracle中好像没有regexp_substr函数吧,我在sqlplus中执行报错