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