gpt4 book ai didi

sql-server - 将值四舍五入到最接近的 50

转载 作者:行者123 更新时间:2023-12-05 08:56:31 34 4
gpt4 key购买 nike

我正在尝试将值向下舍入到最接近的 50。1-50 它应该向下舍入到 00 以下,当它的 51 休息时它应该向下舍入到 50

例如:

  • 245(直到 1-49)应向下舍入为 200
  • 258(从 50-99)然后它应该向下舍入到 250

我试过了,效果不错,但我需要 case 语句以外的东西

@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

提前致谢!!!

最佳答案

这就是你需要的一切

SELECT FLOOR(@ResultAmount / 50) * 50;

例如下面

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;

关于sql-server - 将值四舍五入到最接近的 50,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39597014/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com