在SQL Server中舍入到下一个0.05

Nov*_*ice 4 sql-server rounding sql-server-2008

我有一个要求,我需要将费率四舍五入到最接近的镍.例如:

.... 圆形值
1.90....1.90
1.91....1.95
1.92....1.95
1.93....1.95
1.94....1.95
1.95....1.95
1.96....2.00
1.97....2.00
1.98....2.00
1.99....2.00
2.00....2.00

即如果小数点后'hunderedth'位置必须四舍五入到下一个0.05.
我写了一个查询,给出了最接近0.05的,而不是下一个0.05.

select Rate, (Round((Rate)/0.25 , 2)*0.25) as RoundRate   from ProposedProductPrice order by created desc
Run Code Online (Sandbox Code Playgroud)

小智 6

使用ceiling,它基本上是一个向上的命令.您可以乘以20,因为镍是20美元的20 - 然后再减去20:

select ceiling(Rate * 20) / 20;
Run Code Online (Sandbox Code Playgroud)