向oracle中插入数据是000000怎么可读取的是0怎么解决,是数值型的。。不是字符型的

解决方案 »

  1.   

    数值型的 肯定是0啊 你见过00000的数字吗?
    想要这样的格式 要自己转换 
    你定义为数值型 oracle可不买你的帐 0就是0
      

  2.   


    --是number类型 你insert 000000 oracle会自动算为0的
    --现在你只能是手动转换了
    select * from test;    M          V
    ----- ----------
        8          0
        9          0
       10         10
       11         11
       12          1
    desc test;
    Name                                                                                      Null?    Type
    ----------------------------------------------------------------------------------------- -------- -------------
    M                                                                                                  NUMBER
    V                                                                                                  NUMBERselect m,decode(v,0,'0000000',v) from test;         M DECODE(V,0,'0000000',V)
    ---------- -------------------------------------
             8 0000000
             9 0000000
            10 10
            11 11
            12 1
      

  3.   

    没法解决,除非你用varchar2.
    不然oracle可不区分你插入的是0还是0000,到时候只会按你给出的格式输出数据
      

  4.   

    如果就想用number类型,那无计可施。
    附带两个方法吧:
    select LTRIM(TO_CHAR(0, '000000')) as num from dual                      
    select LPAD(0,6,'0') value from dual 不过都是字符类型的!
      

  5.   

    数字类型的 number 在数据库中无法保存为 000000
     还是换成varchar2 进行保存吧