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



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

例如

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

正在尝试天花板和地板,但他们给了我所有整数

我已经试过了,但它仍然像往常一样四舍五入

舍入(n * 10, 0(/10 作为 [最接近的 0.10]

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

select ceiling(percentage * 10) / 10.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。

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

select round(1.02345443,2) from dual

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

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

最新更新