有时我们需要将两个字段进行相除,输出百分比,可以怎么实现呢?
参考方法:
①、可以自定义一个函数,调用即可
②、也可用两个数/字段相除
实现效果如下
本文的代码集:
-- 定义函数
create function [dbo].[fun_GetPercentage] (@num1 int, @num2 int)
returns nvarchar(10)
as
begin
declare @res varchar(10)
select @res = case when @num1 is null or @num2 is null then Null
when @num1 = 0 then '0%'
when @num2 = 0 then null
else concat(cast(cast(@num1 * 1.0 /@num2 as decimal(18,3)) * 100 as decimal(18,1)),'%') end
return @res
end
-- 输出带百分比,保留一位小数
select
dbo.fun_GetPercentage(14,18) -- 自定义的函数
,concat(cast(cast(14 * 1.0 / 18 as decimal(18,3)) * 100 as decimal(18,1)),'%')
希望对你有帮助!