1.请问如何用pl/sql得到一个字符串里第一个非数字字符的位置
例如:  '123号408'
返回: 4例如:  '12国家3号408'
返回: 32.请问如何用pl/sql获取字符串里的第一个数
例如:  '123号408'
返回: 123例如:  '12国家3号408'
返回: 12谢谢~~

解决方案 »

  1.   

    思路如下:
    1:先计算出字符串的长度,然后循环(根据字符串的长度)
       用ASCII函数看他的ASCII值是否在0——9的ASCII值之 内  若不是 循环的I值就是位置
    2:
    思路差不多
      

  2.   

    下面应该可以,不知道有没有弊端:
    1、select instr('12国家3号408',ltrim('12国家3号408','0123456789')) from dual2、select substr('g12国家3号408',1,instr('g12国家3号408',ltrim('g12国家3号408','0123456789'))-1) from dual
      

  3.   

    楼上的高见.ltrim去掉前导数字后,判断位置就可以了。