现在我要通过一条记录的两个字段的值进行除法运算,
然后得到 形如 13% 这样的形式。请问这条sql应该怎么样呢?用to_char吗?

解决方案 »

  1.   

    select to_char(num1/num2) || '%' from dual;
    不过这个存在一个缺陷,如果结果为 0.1% 那么前面的 0 会显示不出来
    所以建议使用 case when 判断一下,如果小于 1 则前面补 0
      

  2.   

    select round(11/20, 2) * 100 || '%' from dual
      

  3.   

    select col1/col2*100||'%' percent from tt
      

  4.   

    select round(第一个字段/第二各字段, 2) * 100 || '%' from dual
    ,其实没有必要这样写,开发的时候一般看的是数字,%最好放到列名上,比如你两个字段相除的结果是成功率,那么列名是成功率(%),然后其下是99.99之类的数字,这样比较好
      

  5.   


    SELECT TO_CHAR( ROUND ( c1/c2,2 ) ) * 100 || '%' FROM TB;