oracle 求百分比,例如:a/b*100=0.12,连接百分号(a/b*100)||'%',结果则变成.12%,想要显示 0.12%,怎么办
也就是保留百分比前面那个0,请问SQL怎么写?备注a,b数据类型为float类型,想将百分比结果保存为varchar2...
也就是保留百分比前面那个0,请问SQL怎么写?备注a,b数据类型为float类型,想将百分比结果保存为varchar2
展开
4个回答
展开全部
to_char(a/b*100,'fm999999990.999999999')||'%'
函数:to_char(数字,格式),格式小数点前面一位是零。
函数:to_char(数字,格式),格式小数点前面一位是零。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
to_char(a/b*100,'09.999'),表示整数2位,小数部分3位。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select case when a/ b * 100 < 1 then '0' || to_char(a / b * 100) || '%' else to_char(a/b*100)||' % ' end from 表名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像没什么好方法哈
只能对于0.12%和12%这样的分别处理,然后合并数据
比如:两列a和b
以下数据
a b
1 140
1 14
select (a/b)*100||'%' from 表名 where (a/b)*100>=1
union all
select replace((a/b)*100||'%','.','0.') from 表名 where (a/b)*100<1;
暂时还没想到其他更好的,想到再说吧
只能对于0.12%和12%这样的分别处理,然后合并数据
比如:两列a和b
以下数据
a b
1 140
1 14
select (a/b)*100||'%' from 表名 where (a/b)*100>=1
union all
select replace((a/b)*100||'%','.','0.') from 表名 where (a/b)*100<1;
暂时还没想到其他更好的,想到再说吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询