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

2 sql sql-server rounding

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

示例4.93将舍入到4.95

ale*_*lex 9

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


And*_*mar 7

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

select  @round_to*cast((@value+@round_updown)/@round_to as int)
Run Code Online (Sandbox Code Playgroud)

例如:

select  0.05*cast((4.93+0.025)/0.05 as int)
Run Code Online (Sandbox Code Playgroud)