请教小数转百分数的问题 现有一SELECT语句,其中一个字段的结果为一比值。现在希望将这个为比值的字段作为百分数展示,并且要求:如果比值为小数,则保留小数点后两位;否则显示整数。目前小弟是用:TO_CHAR(ROUND (Col1 / Col2 * 100,2),'990.00') || '%'来处理的,但是在整数时会显示小数点。不知道各位前辈有没有什么好的处理方法,问题解决立刻结帖,以我的信誉值做保证……谢谢各位了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> select decode(to_char(mod(10.9,1)),'1','10.9',to_CHAR(ROUND(10.9*100,2),'99990.00')||'%') from dual;DECODE(TO_CHAR(MOD(10.9,1)),'1------------------------------ 1090.00% 把上面的10.9换成col1/col2就可以 好像不对阿SELECT DECODE(TO_CHAR(MOD(10,1)),'1','10',TO_CHAR(ROUND(10*100,2),'99990.00')||'%') FROM dual; 1000.00% lzCol1 / Col21/2 时结果是什么样1/1 时结果是什么样 SQL> select decode(to_char(mod(10,1)),'0','10',to_CHAR(ROUND(10*100,2),'99990.00')||'%') from dual;DECODE(TO_CHAR(MOD(10,1)),'0',------------------------------10 SQL> select decode(to_char(mod(10.9,1)),'0','10',to_CHAR(ROUND(10.9*100,2),'99990.00')||'%') from dual;DECODE(TO_CHAR(MOD(10.9,1)),'0------------------------------ 1090.00% 我还奇怪呢原来是包子手误SELECT DECODE(TO_CHAR(MOD(10,1)),'0',TO_CHAR(10*100) || '%',TO_CHAR(ROUND(10*100,2),'99990.00')||'%') FROM dual;SELECT DECODE(TO_CHAR(MOD(10.1,1)),'0',TO_CHAR(10.1*100) || '%',TO_CHAR(ROUND(10.1*100,2),'99990.00')||'%') FROM dual; 哈哈真的是不好意思MOD整数的时候一不小心写成了1,惭愧那:) Oracle将多张表中查询出的列导出到xml中 急!急!急!急!请教一下大家,oracle动态游标的使用,也就是游标后的sql语句的条件是动态,如何实现呢,举个例子吧,本姑娘在此先谢谢大家! tnsping 问题 请教一个触发器的问题 求数据库开发方面的试卷? 一个数据库选型的问题. 我插入多行记录,提示违反主键约束! 太奇怪了,求助,对于BLOB类型的字段,怎样用SELECT语句取出来?(在线等) 怎么解决ORA-12545号问题? 求一个sql。。。。 刚开始玩ORACLE,连怎么新建数据库都不知道,大家帮帮我 select count(*)速度慢(奇怪.急!!!!!)
------------------------------
1090.00%
SELECT DECODE(TO_CHAR(MOD(10,1)),'1','10',TO_CHAR(ROUND(10*100,2),'99990.00')||'%') FROM dual;
1000.00%
Col1 / Col21/2 时结果是什么样
1/1 时结果是什么样
------------------------------
10
------------------------------
1090.00%
原来是包子手误SELECT DECODE(TO_CHAR(MOD(10,1)),'0',TO_CHAR(10*100) || '%',TO_CHAR(ROUND(10*100,2),'99990.00')||'%') FROM dual;SELECT DECODE(TO_CHAR(MOD(10.1,1)),'0',TO_CHAR(10.1*100) || '%',TO_CHAR(ROUND(10.1*100,2),'99990.00')||'%') FROM dual;