参考方法:
①、可以自定义一个函数,调用即可
②、也可用两个数/字段相除
本文采用第二种
实现效果如下:
-- 定义函数
create function [dbo].[fun_GetPercent] (@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)),'%')
希望有帮助!