SQL server 除法计算百分比

ycNum、allNum为两个整数

CONVERT(DECIMAL(18,2),round((1.0*ycNum)/(1.0*allNum),5,5)*100)

整数乘1.0否则结果为0或1

引用[1]:在SQL Server中,处理除数为零的情况有两种方法。第一种方法是使用CASE语句,当除数为零时返回一个特定的值,例如1。这可以通过将除数与0进行比较,并在相等时返回1来实现。第二种方法是使用NULLIF函数,该函数接受两个参数,如果这两个参数相等,则返回NULL。通过将除数作为第一个参数传递给NULLIF函数,并将0作为第二个参数传递,可以实现当除数为零时返回NULL的效果。然后,可以使用ISNULL函数将NULL值转换为特定的值,例如1。综上所述,可以使用这两种方法来处理SQL Server中的除数为零的情况。[1] 引用[2]:在SQL Server中,除法函数可以使用多种方式实现。以下是一些示例: 1. 使用Convert函数将除法结果转换为指定的小数位数,并乘以100以得到百分比。例如,可以使用以下代码计算百分比:Convert(decimal(18,2), 分子) / Convert(decimal(18,2), 分母) * 100。 2. 使用除法运算符和乘法运算符计算百分比。例如,可以使用以下代码计算百分比:分子 / (分母 * 1.0) * 100。 3. 使用Round函数将除法结果四舍五入到指定的小数位数,并使用Cast函数将结果转换为字符串,并添百分号。例如,可以使用以下代码计算百分比:Cast(Round(分子 / (分母 * 1.0) * 100, 2) as varchar) + '%'。 4. 使用Convert函数将除法结果转换为指定的小数位数,并使用Cast函数将结果转换为字符串,并添百分号。例如,可以使用以下代码计算百分比:Cast(Convert(decimal(18,2), 分子 * 1.0 / (分母 * 1.0) * 100) as varchar) + '%'。 综上所述,SQL Server中可以使用不同的方法来实现除法函数,具体取决于需要的结果格式和精度。[2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值