kpi_value的字段类型是float,通过运算得到增长率value1,round((a.kpi_value - b.kpi_value) / b.kpi_value * 100,2) value1
为什么pl/sql里查询结果是0.1
用dbms_output.put(v_sp_type_cn||'('||'较昨日增长'||v_value1||'%),');
输出时就成了.1呢?

解决方案 »

  1.   

    要想显示0.xxx的这个0,就要用to_char的0.999来实现。
    举个例子:
    SQL> declare
      2  vv number;
      3  begin
      4  vv:=0.1;
      5  dbms_output.put_line(vv);
      6  end;
      7  /
    .1PL/SQL 过程已成功完成。SQL> declare
      2  vv number;
      3  begin
      4  vv:=0.1;
      5  dbms_output.put_line(to_char(vv,'0.999'));
      6  end;
      7  /
    0.100PL/SQL 过程已成功完成。
      

  2.   

    COL v_value1 FORMAT 0.1
     TRY !!
      

  3.   

    COL v_value1 FORMAT 0.9
      

  4.   

    dbms_output.put_line(to_char(0.1,'0.9')); 
      

  5.   

    http://hi.baidu.com/tdskee/blog/item/5d59870a8f40f01b95ca6be4.html