我正在尝试将一些整数相除以获得百分比。默认情况下,我得到一个整数结果,当然,所以我转换为十进制。但我也希望结果在小数点右侧只有两位。
--select (x - y) / y
select (82 - 56) / 56 --0
select (82 - 56) / cast(56 as decimal(9, 2)) --0.4642857142
select cast(82 - 56 as decimal(9,2)) / 56 --0.464285
select cast((82 - 56) / 56 as decimal(9,2)) --0.00
select cast(cast(82 - 56 as decimal) / 56 as decimal(9,2)) --.46
所以我最终不得不同时转换一个操作数和整个表达式才能得到我想要的结果。有一个更好的方法吗?
请注意,我将等式放在顶部以表示我显然没有使用硬编码的数字(即建议我只是在数字后面加上“.0”将无济于事)。此外,我通常会将格式化方面留给报告软件,但它会不时复制到 Excel 电子表格中,我每次都必须手动格式化。