cfnr.net
当前位置:首页 >> SQL中小数转换为百分数格式的问题求教 >>

SQL中小数转换为百分数格式的问题求教

100*round(TD.TaxAfLineSumFC/TD1.JHSL OVER(),4)||'%' as percent,试试看,规定小数位数,然后加上%

问题分析: 1、小数肯定是数字类型 2、百分数肯定是字符类型,另外百分比一般只有两位小数 解决办法: 1、需要先将小数变成百分比,也就是将小数*100,将结果小数位保留为两位 2、再将小数*100转为字符类型后在附加%符号 示例:将小数【0.1234】...

可以转换成字符格式显示 cast(cast(sum(A值)/sum(B值) as decimal(16,4)) * 100 as varchar(10)) + '%'

先将数据转换为numeric类型,保留4位小数点,由零点几变为百分号前边的数字,再转换为varchar类型,然后再加'%' 如: select ml as 毛利,sshje as 实收金额, cast(cast(ml/sshje as numeric(4,4))*100 as varchar(20)) + '%' as 利润率 from chasall...

没有百分数类型的(除非自定义)。 如果99.2是指99.2%,那么转换成0.992(即除以100)即可。如果原本就是0.992,就不用转换。 注:显示格式是前台程序或者SQL语句控制的,与DB存贮值无关。

直接将百分率那列乘以0.01即可(中间需要提取%百分号左侧的有理数,包括使用转换函数强制转换成实数,如双精度浮点数)。 -- 伪码SELECT percentage*0.01 AS chValue;-- such as20%=20*0.01=0.20

这个是显示格式的问题,试试: 假设,aaa 是float的字段或者变量,存储了40.0000 cast(cast(aaa as int) as varchar(10) + '%'

DECLARE @s DECIMAL(18,4) =0.1234SELECT CAST(@s*100 AS VARCHAR(20))+'%'

select round(a1/a2*100,2)||'%' from table 改成 select to_char(round(a1/a2*100,2),'fm999990.00')||'%' from table 其中FM表示去掉空格,999990.00分别代表整数位数和小数位数是几位

没分,谁来答你啊

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com