SELECT 查询出来的应该是0.03,可是最后打印出来的却是 .03
请问一下这个是什么原因,怎么解决.谢谢 DECLARE
vpercent table1.sub_percent%TYPE; -- 这个是 number(2,2)类型
BEGIN 
    SELECT sub_percent
    INTO vpercent
    FROM table1 
    WHERE sub_type = 'DEFAULT';  
    dbms_output.put_line(vpercent);
EXCEPTION WHEN NO_DATA_FOUND THEN
RETURN;         
END;

解决方案 »

  1.   

    是格式的问题dbms_output.put_line(to_char(vpercent,'99.99'))试试
      

  2.   

    dbms_output..执行输出的时候自动将非字符型的转换成字符型输出
    这里默认成99.99这样的形式了
    改成dbms_output.put_line(to_char(vpercent,'0.99'))看看
      

  3.   

    dbms_output.put_line(to_char(vpercent,'0D00'))
      

  4.   

    http://hi.baidu.com/djx_5211314/blog/item/4fec8713905df5826438db47.html这个不错
      

  5.   


    还是你的速度快. OK了.如果现在我想把这个数字写入另一个表的一个字段里,要怎么弄呢?下面那样好像不行
    UPDATE table2 t2 set t2.re = vpercent,'0.99'; 
      

  6.   

    那个格式改下,to_char(vpercent,'990.99')
    这句可改为
    UPDATE table2 t2 set t2.re = to_char(vpercent,'990.99'); 
    如果re也是数值型,就不用转换了
      

  7.   

    ..percent如果一定是小于1的,就不用改了,就to_char(vpercent,0.99)
      

  8.   

    -- 这个是 number(2,2)类型呵呵:   问题就出在这个 number(2,2) 类型上面
      

  9.   

    ltrim(to_char(vpercent,'0.99'),' ');