kr*_*ris 2 sql-server rounding
我试图将值四舍五入到最接近的 50。1-50 它应该四舍五入到 00 以下,当它的 51-rest 然后它应该四舍五入到 50
前任:
我试过这个,它很好,但我需要除了案例陈述之外的东西
@ResultAmount = ROUND(@ResultAmount, -2, 1) +
CASE WHEN RIGHT(CONVERT(INT, FLOOR(@ResultAmount)), 2) IN (00, 50)
THEN RIGHT(CONVERT(INT, FLOOR(@ResultAmount)), 2)
WHEN RIGHT(CONVERT(INT, FLOOR(@ResultAmount)), 2) BETWEEN 1 AND 49
THEN 00
WHEN RIGHT(CONVERT(INT, FLOOR(@ResultAmount)), 2) BETWEEN 51 AND 99
THEN 50
END
Run Code Online (Sandbox Code Playgroud)
提前致谢!!!
小智 5
这就是你所需要的
SELECT FLOOR(@ResultAmount / 50) * 50;
Run Code Online (Sandbox Code Playgroud)
例如下面
declare @ResultAmount decimal(10,2) = 249;
SELECT FLOOR(@ResultAmount / 50) * 50;
SET @ResultAmount = 250;
SELECT FLOOR(@ResultAmount / 50) * 50;
SET @ResultAmount = 200;
SELECT FLOOR(@ResultAmount / 50) * 50;
SET @ResultAmount = 199;
SELECT FLOOR(@ResultAmount / 50) * 50;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6943 次 |
| 最近记录: |