在数据库表c_prodkind里有一个字段codeid,类型为varchar2(6),该字段用于储存车辆编号,储存数据如:0011,0012,00137,0035等,现在需要提取出如11,22,137,35的字符型格式,我用
select to_number(codeid) from c_prodkind;执行时提示oralce抛出 无效数字 的错误;该是怎么写的呢,在转换成数值型后,还要再转成字符型; 或者说有没有其他另外的方法将该列前面的0去掉的呢?
急~~~先谢谢大家啦!

解决方案 »

  1.   

    重复发贴了吧
    select ltrim(codeid,'0') from c_prodkind
      

  2.   

    看来急得发过的贴都忘记了
    http://topic.csdn.net/u/20110610/19/b9a84d47-e520-45a0-9c09-fe590a326250.html?50512
      

  3.   

    select ltrim(codeid,'0') from c_prodkind;或者select substr(codeid,3,5) from c_prodkind;或者select replace(codeid,'0','') from c_prodkind;
      

  4.   

    看一下Oracle的两个函数:
    to_date
    to_char
      

  5.   


    SQL> ed
    Wrote file afiedt.buf  1  CREATE TABLE test (
      2     id CHARACTER(3)
      3* )
    SQL> /Table created.SQL> ed
    Wrote file afiedt.buf  1  BEGIN
      2     INSERT
      3     INTO test
      4     VALUES('001');
      5     INSERT
      6     INTO test
      7     VALUES('002');
      8* END;
      9  /PL/SQL procedure successfully completed.SQL> select * from test
      2  /ID
    ---
    001
    002SQL> ed
    Wrote file afiedt.buf  1* SELECT ltrim(id,'0') FROM test
      2  /LTR
    ---
    1
    2SQL>