sql百分比的计算的标量函数

本文介绍了一个简单的SQL标量值函数GetPercentage,用于计算并返回两个输入参数的百分比形式。函数考虑了各种边界情况,例如当被除数为NULL或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' 不是可以识别的 内置函数名称。

 

转载于:https://www.cnblogs.com/lishuaiying/archive/2012/03/19/2406904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值