用sql怎么做,都得不到我要的结果。我有这样一个数据库,字段名是tori,这一列的字段是 0001***,0002***,0010***,0123***,*号代表空格,我要用vb6.0的办法,把这些开头的0,不论有几个0都去掉,然后去掉空格。各位大虾,有办法么?

解决方案 »

  1.   

    什么数据库?如果是 sql server 是可以的:SELECT CONVERT(int, RTRIM(tori)) from table1原数据:
    0001      
    0002      
    0010      
    0005      
    0101      
    1002      结果:
    1
    2
    10
    5
    101
    1002
    access也应该差不多,就是内置函数有点不一样。
      

  2.   

    上面是直接在 sql 语句中处理,应该是最快的方法。如果在vb中处理,可以这样:xx=rs("tori")
    xx=cstr(val(rtrim(xx)))
      

  3.   

    我的数据库是ORACLE的,用了SQL的处理方法,报错,说找不到列
    想问VB6.0的处理方法放在哪里好呢? 我想在SQL语句以前就把0去掉
      

  4.   

    呵呵,找不到列,是你写错列名了吧?我没用过 oracle,但我相信它应该会提供类似的内置函数。否则如果有100w条数据都取出来再处理一遍,神仙都要吐血了。用数据库自身的  sql 语句来完成,将比提取出来再处理要快无数个数量级!
      

  5.   

    在oracle中应该可以用replace与to_number函数得到你想要的结果,现机子上没有oracel,你可以自已试试
    SELECT TO_NUMBER(replace(tori,' ','')) from table1