如何使用SQL Server向下舍入到下一个0.05的倍数?

时间:2013-03-24 11:26:04

标签: sql sql-server rounding

如何将浮点数舍入到第100位,同时在SQL Server中舍入到最接近的0.05的倍数。

示例4.93将舍入到4.95

2 个答案:

答案 0 :(得分:9)

将它乘以20,然后将其四舍五入为下一个整数,然后除以20.

答案 1 :(得分:7)

您可以使用此公式,其中@round_to是您想要舍入的倍数的数字。 @round_updown选择向上或向下舍入:将其设置为0向下舍入,@round_to - 0.000001向上舍入,或向@round_to / 2使用中间舍入。

select  @round_to*cast((@value+@round_updown)/@round_to as int)

例如:

select  0.05*cast((4.93+0.025)/0.05 as int)