sql 查询结果以百分数表示

假设 某日费用占比=某日费用/当月费用*100% ,如何在费用占比中显示出百分比数值?
人员 某日费用 当月费用 费用占比
a 5 52
b 6 666
......

select rtrim(convert(decimal(18,2),某日费用*100.0/当月费用))+'%'。

如果是要在Grid中显示,那就定义个字符型的字段吧,长度7就够了,因为不会出现超过100%的情况。



字段值=Convert(varchar(7),Round(某日费用/当月费用*100,2))+'%'。


或者:


字段值=LTrim(RTrim(Str(某日费用/当月费用*100,30,2)))+'%'。

1、CONCAT(str1,str2,...) 


返回来自于参数连结的字符串。如果任何参数是NULL, 返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。 

2、LEFT(str,length) 
从左开始截取字符串.说明:left(被截取字段,截取长度) 



结合1、2 :concat ( left (数值1 / 数值2 *100,5),'%') as 投诉率

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-10
如果是显示在报表或导出到Excel上,那直接用算出来的结果*100%就可以了;

如果是要在Grid中显示,那就定义个字符型的字段吧,长度7就够了,因为不会出现超过100%的情况

字段值=Convert(varchar(7),Round(某日费用/当月费用*100,2))+'%'
或者:
字段值=LTrim(RTrim(Str(某日费用/当月费用*100,30,2)))+'%'
第2个回答  2013-01-10
select rtrim(convert(decimal(18,2),某日费用*100.0/当月费用))+'%'本回答被提问者采纳