oracle自动转换,如果符合的话
to_number()
这样的话,你的转换逻辑是什么?

解决方案 »

  1.   

    100#,100ABC---转换后你要什么样的结果
      

  2.   

    100#,100ABC----->我想得到的是前面的数值,只想用Oracle本身的功能实现,不想另写函数
      

  3.   

    11:21:10 SQL> select substr('123#dadv',1,
    11:21:17   2  instr('123#dadv',
    11:21:17   3  substr(trim(translate('123#dadv','0123456789','         ')),1,1)
    11:21:17   4  )-1) from dual;SUB
    ---
    123已用时间:  00: 00: 00.16
    11:21:31 SQL> select substr('100asd234sdf',1,
    11:22:04   2  instr('100asd234sdf',
    11:22:11   3  substr(trim(translate('100asd234sdf','0123456789','         ')),1,1)
    11:22:20   4  )-1) from dual;SUB
    ---
    100已用时间:  00: 00: 00.32
    11:22:22 SQL> 
    虽然繁琐了一些,但可以达到这个目的
      

  4.   

    首先感谢bzszp(www.bzszp.533.net) 给我举了这个例子,可我用的是Oracle8i,上面根本就不支持Trim函数,我把Trim改成RTrim,可得不到所要的结果,老大,你能不能再帮我看一看,小生先谢了!
      

  5.   

    11:22:22 SQL> select substr('100asd234sdf',1,
    16:04:52   2  instr('100asd234sdf',
    16:04:52   3  substr(ltrim(translate('100asd234sdf','0123456789','         ')),1,1)
    16:04:59   4  )-1) from dual;SUB
    ---
    100已用时间:  00: 00: 00.32
    16:05:01 SQL>