gpt4 book ai didi

sql - 向上或向下舍入到最接近的 20

转载 作者:行者123 更新时间:2023-12-02 23:25:28 26 4
gpt4 key购买 nike

正如问题所暗示的,我需要向上或向下舍入到最接近的 20,除了 0-14 的数字外,所有数字都必须舍入到 20,因为不允许零值。表格不必更新为新值。目前我只能向上或向下舍入到最接近的 100,如下所示:

 CASE WHEN ROUND(number,-2)=0 THEN CAST(ROUND(number,-2)+100 AS DECIMAL(18, 0)) 
ELSE CAST(ROUND(number,-2) AS DECIMAL(18,0)) END AS [NUMBER]

最佳答案

试试这个:

DECLARE @testValue Int = 35;

SELECT
CASE
WHEN @testValue BETWEEN 0 AND 14 THEN 20
ELSE ROUND((@testValue * 1.0) / 20, 0) * 20
END MyRoundedValue;

可能有更优化的方法,但这是我想到的第一个解决方案。 * 1.0是强制转换为 float ,这样/20就会产生小数结果。使用 ROUND 对结果进行舍入,然后乘以 20 以获得最终的“舍入”值。

进行编辑以考虑 0-14 的特殊情况...

关于sql - 向上或向下舍入到最接近的 20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605007/

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