sql百分比的计算的标量函数
2012-03-19 21:38 李帅营 阅读(1020) 评论(0) 编辑 收藏 举报在计算统计时有时候会用到百分比,在此写一个简单的sql标量值函数
alter function GetPercentage
(@first int,
@second int)
returns varchar(20)
as
begin
declare @result varchar(20)
set @second=isnull(@second,0)
set @first=isnull(@first,0)
if(@second='')
set @result='0%'
else if(@second=0)
set @result='0%'
else
begin
set @result=cast(cast((@first*100/@second) as decimal(10,0)) as varchar(50)) +'%'
end
return @result
end
其中@first为除数,@second为被除数。上面的精确度到整位数;精度可在decimal(10,0)处进行替换,0即为要保留的小数位数
在调用时候,标量值函数会有一个特殊的要求,即:在名称前加上dbo.;
不然将出现如下错误:
消息 195,级别 15,状态 10,第 1 行
'GetPercentage' 不是可以识别的 内置函数名称。