SQL将百分比舍入到最接近的.1

时间:2019-02-06 16:48:00

标签: sql sql-server decimal rounding

我有一列百分比,我希望它们总是四舍五入到最接近的.1

例如

.005 --> .1
.11 --> .2
.3256 -->.4
.6797 -->.7

我正在尝试天花板和地板,但是它们给了我所有的数字

我已经尝试过了,但是仍然可以正常使用

回合(n * 10,0)/ 10为[最近0.10]

3 个答案:

答案 0 :(得分:0)

您始终可以使用ceiling()和算术:

select ceiling(percentage * 10) / 10.0

答案 1 :(得分:0)

round()函数可能是最简单的选项。

select round(1.02345443,2) from dual

其中第一个参数是输入数字,第二个数字是小数点后的数字。

请参考this官方文档以获取更多参考。

答案 2 :(得分:0)

具有模块化算法的另一个选项:

DECLARE @a DECIMAL(5,5) = 0.000005 --insert your number here

PRINT ROUND(@a, 1) + CASE WHEN @a % 0.1 < 0.05 AND @a % 0.1 > 0 THEN 0.1 ELSE 0 END

此测试检查除以0.1时的余数是否在0到0.05之间(表示四舍五入),如果是,则将0.1加到四舍五入后的值。