计算 SQL Server 2008 中的百分比
Calculating Percentage in SQL Server 2008
正在尝试查找已修改项目的百分比并将其设置在电子邮件警报中。在警报的另一部分,百分比工作正常,但这是我遇到问题的行
select CONVERT(NVARCHAR(10), 150) + ' (' + CONVERT(NVARCHAR(50), CONVERT(DECIMAL(12,2), ((50) / 150) * 100)) + '%' + ')'
它正在使用现有变量,这就是它需要转换的原因,我只是在字段所在的位置输入了随机值。 150 是总项目,50 是修改项目。
我不确定为什么会出现 "random" 个值。我能理解意想不到的结果。
这个表达式:
CONVERT(DECIMAL(12,2), ((50) / 150) * 100)
更简单地写为:
0
原因是SQL服务器做整数除法。因此,您需要在进行除法之前转换这些值。我经常乘以 1.0:
CONVERT(DECIMAL(12,2), ((50)*1.0 / 150) * 100)
正在尝试查找已修改项目的百分比并将其设置在电子邮件警报中。在警报的另一部分,百分比工作正常,但这是我遇到问题的行
select CONVERT(NVARCHAR(10), 150) + ' (' + CONVERT(NVARCHAR(50), CONVERT(DECIMAL(12,2), ((50) / 150) * 100)) + '%' + ')'
它正在使用现有变量,这就是它需要转换的原因,我只是在字段所在的位置输入了随机值。 150 是总项目,50 是修改项目。
我不确定为什么会出现 "random" 个值。我能理解意想不到的结果。
这个表达式:
CONVERT(DECIMAL(12,2), ((50) / 150) * 100)
更简单地写为:
0
原因是SQL服务器做整数除法。因此,您需要在进行除法之前转换这些值。我经常乘以 1.0:
CONVERT(DECIMAL(12,2), ((50)*1.0 / 150) * 100)